如何使用我自己的密鑰加密?我已經通過網絡搜索來執行此操作。如何使用我自己的密鑰加密?在 python 中,我更喜歡 密碼學。它不斷彈出錯誤Fernet key must be 32 url-safe base64-encoded bytes和TypeError: a bytes-like object is required, not 'str'。我正在嘗試創建一個私有變量函數。我是python新手。這是我未完成的代碼。感謝您的幫助。from cryptography.fernet import Fernetimport inspectimport hashlibimport base64 #Fernet key must be 32 url-safe base64-encoded bytesdef encode(key, string): encoded_chars = [] for i in xrange(len(string)): key_c = key[i % len(key)] encoded_c = chr(ord(string[i]) + ord(key_c) % 256) encoded_chars.append(encoded_c) encoded_string = "".join(encoded_chars) return base64.urlsafe_b64encode(encoded_string)class private: class sec_storage: data = dict() hashed_data = dict() class var: def create(var,value): # creates key based on caller key = hashlib.sha224(str(inspect.stack()).encode()).hexdigest() cipher_suite = Fernet(base64.b64encode(key)) #Fernet key must be 32 url-safe base64-encoded bytes # encrypts using key encoded_text = cipher_suite.encrypt(value) # prepares storage hashed_var = hashlib.sha224("plus".join(list(var.encode(),key[:12])).hexdigest()) hashed_value = hashlib.sha224(value.encode()).hexdigest()[12:30] private.sec_storage.data[hashed_var] = encoded_text private.sec_storage.hashed_data[hashed_var] = hashed_value def read(var): # creates key based on caller key = hashlib.sha224(str(inspect.stack()).encode()).hexdigest() cipher_suite = Fernet(base64.b64encode(key)) #Fernet key must be 32 url-safe base64-encoded bytes如你看到的cipher_suite = Fernet(base64.b64encode(key)) #Fernet key must be 32 url-safe base64-encoded 我如何解決它?
使用提供的密鑰加密文本 python
慕桂英4014372
2023-05-23 10:20:18