Я пишу простой код шифрования AES. Я застрял в части, где говорится, что decrypt () не может быть вызван после encrypt () Я перебрал интернет, чтобы найти решение, но не смог этого сделать, возможно, из-за отсутствия надлежащих примеров документации.
Я пытался изменить последовательность этих строк, но это не помогло
encrypted = encrypt(message)
decrypted = decrypt(encrypted)
У меня есть 2 примера
Example1
from Crypto.Cipher import AES
key = 'ACD310AE179CE245624BB238867CE189'
message = 'this is my super secret message'
cipher = AES.new(key.encode('utf-8'),AES.MODE_CBC)
def pad(s):
return s + ((16 - len(s) % 16) * '{')
def encrypt(plaintext):
global cipher
return cipher.encrypt(pad(plaintext).encode('utf-8'))
def decrypt(ciphertext):
global cipher
dec = cipher.decrypt(ciphertext).decode('utf-8')
l = dec.count('{')
return dec[:len(dec)-1]
encrypted = encrypt(message)
decrypted = decrypt(encrypted)
print("Message: ", message)
print("Encrypted: ", encrypted)
print("Decrypted: ", decrypted)
Пример 2
from Crypto.Cipher import AES
key = b'Sixteen byte key'
data = b'hello from other side'
cipher = AES.new(key, AES.MODE_EAX)
e_data = cipher.encrypt(data)
d_data = cipher.decrypt(e_data)
print("Encryption was: ", e_data)
print("Original Message was: ", d_data)
Просьба также предоставить полезные ссылки для pycryptodome помимо их официальной документации, так как это нехорошо.