Krypt - Função de criptografia por chave de qualquer tamanho

Publicado por Danillo Souza (última atualização em 26/08/2010)

[ Hits: 8.510 ]

Download krypt.py




Criptografia por substituição polialfabética. A mesma função seve para criptografar e descriptografar.

  



Esconder código-fonte

#! /usr/bin/python
#-*- coding: utf-8 -*-

import string
import random

def krypt(msg = '', key = 16):
   # checando parâmetros
   if type(msg) != type(''):
      msg = str(msg)
      
   if type(key) != type(1):
      if type(key) == type(''):
         key = sum([ord(i) for i in key])
      else:
         key = int(key)
   
   # criando o arranjo de caracteres
   arranje = [chr(i) for i in range(32, 127)]
   
   # vetores para formar os pares
   alph1 = [i for i in arranje[:47]]
   alph2 = [i for i in arranje[47:]]
   
   # definindo a semente de randomização
   random.seed(key)
   
   # embaralhando os vetores de caracteres
   random.shuffle(alph1)
   random.shuffle(alph2)
   
   # gerando os pares
   alpha = zip(alph1, alph2)
   cript = ''
   
   # fazendo a substituição - gerando a cifra
   for i in range(len(msg)):
      for j in alpha:
         if msg[i] == j[0]:
            cript = cript + j[1]
            break
         elif msg[i] == j[1]:
            cript = cript + j[0]
            break
   
   # retornando a cifra como uma string
   return cript

Scripts recomendados

Como mudar o IP aleatoriamente em Python

Hash Checker - Calcule o Hash dos seus Arquivos para verficação de integridade.

Cracker De Senha (cupp.py) 1.0

Scan de vulnerabilidade .sh

MsgCoder - Codificador de mensagens


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts