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

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

[ Hits: 8.513 ]

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

Cracker De Senha (cupp.py) 1.0

Função para decriptar Base64 em string compactada

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

Identificador de spam em Python

Criptografia de César


  

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