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()

results matching ""

    No results matching ""