1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| from cryptography.fernet import Fernet import base64 from hashlib import sha256
def get_key(password: str) -> bytes: return base64.urlsafe_b64encode(sha256(password.encode()).digest())
def encrypt(data: str, password: str) -> str: key = get_key(password) return Fernet(key).encrypt(data.encode()).decode()
def decrypt(encrypted_data: str, password: str) -> str: key = get_key(password) return Fernet(key).decrypt(encrypted_data.encode()).decode()
if __name__ == "__main__": _password = "123" _data = "Hello, 极简AES!"
encrypted = encrypt(_data, _password) print("加密后:", encrypted)
decrypted = decrypt(encrypted, _password) print("解密后:", decrypted)
|
加密后: gAAAAABofIi4QPserqlSQifF8f6jthnpyJMZ52stQsWaQDoI3y6DGuW2eNbfYvK89XcNaNfbzihlCB_Zn4NO2PvkdOuZlM2stkKVAVEQuLd6PFm_1lcE_nQ=
解密后: Hello, 极简AES!
gAAAAABofIq3S6H8-h_3CepD70HLxo8SFQzgYQ6MWrOoGvOZd2FGbNdtvTaxO_3t6H6MSnXDaoPayN0_-l69KjBcOEvc-w9f0M9mcw9mei5NnD55kN61TKGalXppNXjDAAwHoKdfx61KaRJT_MRBjx4H8MSTpAW4aCF7EDVZ9ThoKZW4OTFE7ljoA5AWTimnwNUDepOSmDme