From b8f989a94706ac4b0aa2df641df68d957d91c4e4 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Thu, 14 Aug 2025 15:56:52 +0800 Subject: [PATCH] bugfix --- appPublic/aes.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/appPublic/aes.py b/appPublic/aes.py index 9f85207..4ed8643 100644 --- a/appPublic/aes.py +++ b/appPublic/aes.py @@ -1,3 +1,4 @@ +import base64 from cryptography.hazmat.primitives import padding from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes from cryptography.hazmat.backends import default_backend @@ -25,7 +26,7 @@ def aes_encrypt_ecb(key: bytes, plaintext: str) -> bytes: key = len32(key) cipher = Cipher(algorithms.AES(key), modes.ECB(), backend=default_backend()) encryptor = cipher.encryptor() - padded_data = pad(plaintext.encode()) + padded_data = pad(plaintext.encode('iso-8859-1')) return encryptor.update(padded_data) + encryptor.finalize() def aes_decrypt_ecb(key: bytes, ciphertext: bytes) -> str: @@ -33,12 +34,23 @@ def aes_decrypt_ecb(key: bytes, ciphertext: bytes) -> str: cipher = Cipher(algorithms.AES(key), modes.ECB(), backend=default_backend()) decryptor = cipher.decryptor() padded_plain = decryptor.update(ciphertext) + decryptor.finalize() - return unpad(padded_plain).decode() + return unpad(padded_plain).decode('iso-8859-1') +def aes_encode_b64(key:str, text:str) -> str: + key = key.encode('iso-8859-1') + cyber = aes_encrypt_ecb(key, text) + secret = cyber.decode('iso-8859-1') + return base64.b64encode(cyber).decode('iso-8859-1') + +def aes_decode_b64(key:str, b64str:str) -> str: + key = key.encode('iso-8859-1') + b64b = b64str.encode('iso-8859-1') + cyber = base64.b64decode(b64b) + return aes_decrypt_ecb(key, cyber) if __name__ == '__main__': - key = b'67t832ufbj43riu8' + key = '67t832ufbj43riu8ewrg' o = 'this is s test string' - b = aes_encrypt_ecb(key, o) - t = aes_decrypt_ecb(key, b) + b = aes_encode_b64(key, o) + t = aes_decode_b64(key, b) print(f'{o=},{b=},{t=}')