小编nsb*_*nsb的帖子

类型错误:参数应该是类似字节的对象或 ASCII 字符串,而不是“dict”

当我解密加密消息时,我收到此错误。我从 django 视图中的数据库获取了加密消息,pw = donator.objects.filter(emai=email).values('passw')并在解密消息()函数中传递了 pw 对象。crypto_messag() 函数是:

def decrypt_message(encrypted_message,key):
    """
    Decrypts an encrypted message
    """
    f = Fernet(key)
    decrypted_message = f.decrypt(encrypted_message)
    return decrypted_message.decode()
Run Code Online (Sandbox Code Playgroud)

错误信息是:

File "C:\Users\Neelesh Singh\workspace\BookHouse\donatorapp\views.py", line 129, in decrypt_message
    f = Fernet(key)
  File "C:\Users\Neelesh Singh\AppData\Local\Programs\Python\Python39\lib\site-packages\cryptography\fernet.py", line 37, in __init__
    key = base64.urlsafe_b64decode(key)
  File "C:\Users\Neelesh Singh\AppData\Local\Programs\Python\Python39\lib\base64.py", line 131, in urlsafe_b64decode
    s = _bytes_from_decode_data(s)
  File "C:\Users\Neelesh Singh\AppData\Local\Programs\Python\Python39\lib\base64.py", line 45, in _bytes_from_decode_data
    raise TypeError("argument should be a bytes-like object or ASCII "
TypeError: argument should be a bytes-like …
Run Code Online (Sandbox Code Playgroud)

python django cryptography fernet

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

cryptography ×1

django ×1

fernet ×1

python ×1