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

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

[ Hits: 8.659 ]

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

RT CRASH - "Quebrando" hash MD5, SHA1, SHA224, SHA256, SHA384 e SHA512

Identificador de spam em Python

Brute Force para MUD

Script básico de um ransomware


  

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