J'ai créé du code qui peut chiffrer le texte en convertissant le texte en clair et la clé en codes ascii et en les multipliant ensemble. Je sais que ce n'est pas sécurisé mais je le fais pour un cours de cryptographie.Comment pourrais-je décoder cela?
Voici mon code
plaintext = input(">> ")
key = input("key: ")
def ascii(text):
x = 0
for i in range(len(text)):
x += ord(text[i])*2**(8 * (len(text) -i -1))
#end
return x
#end
ascii_pt = ascii(plaintext)
ascii_key = ascii(key)
# debug
#print(ascii_pt)
#print(ascii_key)
encoded = ascii_pt * ascii_key
print(encoded)
J'ai essayé de faire encoded/ascii_key
en vain. Toute aide est la bienvenue!
modifier
decoded = int(encoded/ascii_key)
print(chr(decoded))
cela a fonctionné pour les petits caractères, mais n'a pas pu décoder les grandes: L
Quelle version de python utilisez-vous? Veuillez également fournir un [MCVE] (https://stackoverflow.com/help/mcve). Fournissez un exemple d'entrée, une sortie attendue, Stacktraces si vous obtenez des erreurs. – Kraay89
Aussi, je pense que vous n'utilisez pas 'chr()' correctement, lisez [ici] (https://docs.python.org/2/library/functions.html#chr). Il est destiné à être utilisé sur des codes de caractères uniques, ceci dans la plage [0, 256] – Kraay89