Cryptography
第三方的对称机密库,非常好用
>>> from cryptography.fernet import Fernet
>>> # Put this somewhere safe!
>>> key = Fernet.generate_key()
>>> f = Fernet(key)
>>> token = f.encrypt(b"A really secret message. Not for prying eyes.")
>>> token
'...'
>>> f.decrypt(token)
'A really secret message. Not for prying eyes.'
加密字符串方法
KEY是通过Fernet.generate_key()
方法生成,然后写死到配置文件里的
def symmetric_encrypt(data):
key = config_file['flask']['SYMMETRIC_KEY']
if isinstance(key, str):
key = key.encode()
cipher_suite = Fernet(key)
if isinstance(data, str):
data = data.encode()
cipher_text = cipher_suite.encrypt(data)
return cipher_text.decode()
解密字符串方法
def symmetric_decrypt(data):
key = config_file['flask']['SYMMETRIC_KEY']
if isinstance(key, str):
key = key.encode()
cipher_suite = Fernet(key)
if isinstance(data, str):
data = data.encode()
plain_text = cipher_suite.decrypt(data)
return plain_text.decode()