Pequeno código que desenvolvi que mostra como desenvolver um pequeno Algoritmo de Criptografia em Python sem utilizar nenhuma biblioteca extra do mesmo. O código está bem documentado e dúvidas podem ser tiradas aqui.
#-- coding: utf-8 --
openHash Library
# - - - - - - - - -
by Bruno Alano
#
Description: Cryptography Library to Encode Strings and Binary Data
==============================
Para cada letra adicionada
deverá adicionar uma para o
cKeys
==============================
keys = ['a', 'A', 'b', 'B'] # Dicionário
cKeys = ['
/747/', '/139/', '
/8423/', '/8787/'] # Dicionário Criptografado (deve iniciar com *)
==============================
Váriaveis Nulas
==============================
encryp = ''
decryp = ''
==============================
Funções
==============================
def simpleEncrypt(string):
Carrega dicionários
global keys
global cKeys
Carrega váriavel global
global encryp
Para cada letra da 'string'
for letter in string:
# Procura posição desta letra (tem que ter no dicionário),
# e pega a posição
sid = keys.index(letter)
# Transforma a letra na mesma posição do Dicionário
# Criptografado
encryp = encryp + cKeys[sid]
print (encryp)
def simpleDecrypt(string):
Carrega dicionários
global keys
global cKeys
Carrega váriavel global
global decryp
Separa a váriavel criptografado por "*"
dec = string.split('*')
Para cada Array do 'dec'
for setConj in dec:
# Remove Array vazia
if (setConj == ''):
continue
# Adiciona o * para fazer a busca
decSet = '*' + setConj
# Procura no Cicionário Criptografado
did = cKeys.index(decSet)
# Transforma a letra na mesma posição do Dicionário
decryp = decryp + keys[did]
print (decryp)
==============================
EXEMPLOs
==============================
simpleEncrypt("AbBa") #Retorna: /139//8423//8787//747/
simpleDecrypt("/139//8423//8787//747/") #Retorna: AbBa