Krypt - Função de criptografia por chave de qualquer tamanho
Publicado por Danillo Souza (última atualização em 26/08/2010)
[ Hits: 9.161 ]
Criptografia por substituição polialfabética. A mesma função seve para criptografar e descriptografar.
#! /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
Script para analise de superficie de ataque
Script básico de um ransomware
Automação de scan de vulnerabilidades de URL
Identificador de spam em Python
Nenhum comentário foi encontrado.
File Browser: Crie sua Nuvem Pessoal Privada
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
Gerenciamento de Vídeo Híbrido (Intel/NVIDIA) via nvidia-prime no Ubuntu e derivados
Assistindo IPTV no Linux com Fred TV e Lista Free TV
Impressora Tomate MDK-007 no Ubuntu (ou qualquer distro Linux)
Acelerando a compilação de pacotes no Arch Linux (AUR) usando todos os núcleos do processador
Tive um problema ao abrir minha partição Btrfs. Como posso resolver is... (1)
Enquete: qual bloco de código C++ é mais legível? (4)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 [RESOLVIDO] (11)









