python - Binascii.error:尝试解密密码时填充不正确
问题描述
我想加密和解密我的密码,但是当我解密我的密码时,它给了我一个binascii.error: incorrect padding
错误。
f1 = Fernet("encrypt.txt")
decrypted = f1.decrypt("b'gAAAAABeQ-2YA7zNJBA_AgVEEwcJNYMNPO3UzO9ujsInxlz_0DqIrMHlVQgRUyN9PTyGZJiN-FJ3qLJipKv2KESr3qx4yM-T2g=='", "encrypt.txt")
print(decrypted)
这是错误:
"C:\Users\Raj\PycharmProjects\password generater\venv\Scripts\python.exe" "C:/Users/Raj/PycharmProjects/password generater/encrypt.py" Traceback (最近一次调用最后): 文件 "C: /Users/Raj/PycharmProjects/password generater/encrypt.py",第 45 行,在 f1 = Fernet("encrypt.txt") 文件 "C:\Users\Raj\PycharmProjects\password generater\venv\lib\site-packages \cryptography\fernet.py",第 35 行,在init key = base64.urlsafe_b64decode(key) 文件“C:\Users\Raj\AppData\Local\Programs\Python\Python36-32\lib\base64.py”中,行133,在 urlsafe_b64decode 返回 b64decode(s) 文件“C:\Users\Raj\AppData\Local\Programs\Python\Python36-32\lib\base64.py”,第 87 行,在 b64decode 返回 binascii。a2b_base64(s) binascii.Error: 不正确的填充
解决方案
您的意思是使用字节而不是字符串吗?如果是这样,请删除双引号:
f1.decrypt(b'gAAAAABeQ-2YA7zNJBA_AgVEEwcJNYMNPO3UzO9ujsInxlz_0DqIrMHlVQgRUyN9PTyGZJiN-FJ3qLJipKv2KESr3qx4yM-T2g==', 'encrypt.txt')
推荐阅读
- javascript - 如何将数据从 Meteor 应用程序发送到嵌入式小部件?
- c++ - 用 GTK3 C++ 获取指针坐标
- sql - 数据库设计,减少join
- python - 如何将 PyTorch 子模块保持在 eval 模式?
- redis-cluster - redis集群重定向到另一台服务器并给出身份验证错误
- asp.net-core - 使用来自单独程序集的启动类的 ASP.NET Core MVC 问题
- javascript - 等待似乎不是在等待我的函数中的结果
- reactjs - 带有条件渲染的 React Native Firebase onAuthStateChanged 给出警告 Can't perform a React state update
- c# - 鼠标运动的熵
- python - 多屏幕上的 Kivy 相机