python base64库给用户名或密码加密的流程
给明文密码加密的流程:
import base64 pwd_after_encrypt = base64.b64encode(b'this is a scret!') pwd_before_encrypt = base64.b64decode(b'dGhpcyBpcyBhIHNjcmV0IQ==').decode('ascii') print(pwd_after_encrypt) print(pwd_before_encrypt)
运行结果:
b'dGhpcyBpcyBhIHNjcmV0IQ=='
this is a scret!
Process finished with exit code 0
则在代码中的调用方式是:
import base64 username = 'root' password = base64.b64decode(b'dGhpcyBpcyBhIHNjcmV0IQ==').decode('ascii')
这样做的好处:
不会在代码中泄露密码。
说明:
若某登录密码是字符串'this is a scret!',对该密码的加密方式为:
1.首先导入python的base64库;
2.调用base64库中的base64.b64encode()对字符串'this is a scret!‘加密,得到密文(如题中的b'dGhpcyBpcyBhIHNjcmV0IQ==');
3.调用base64.b64decode()对b'dGhpcyBpcyBhIHNjcmV0IQ=='进行解密,得到真实的密码(如题中的this is a scret!)。
注意:
base64处理的是byte类型的数据,所以在字符串之前需加上b,若想解密得到字符串类型的密码,则需用'ascii'来decode byte类型的数据。
ps:python base64的加密与解密
Base64编码是一种“防君子不防小人”的编码方式。广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有“=”,生成的编码都是ascii字符。 优点:速度快,ascii字符,肉眼不可理解 缺点:编码比较长,非常容易被破解,仅适用于加密非关键信息的场合 Python中进行Base64编码和解码 >>> import base64 >>> s = '我是字符串' >>> a = base64.b64encode(s) >>> print a ztLKx9fWt/u0rg== >>> print base64.b64decode(a) 我是字符串
总结
以上所述是小编给大家介绍的python base64库给用户名或密码加密的流程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
相关文章
tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式
今天小编就为大家分享一篇tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-01-01python+tkinter+mysql做简单数据库查询界面
本文主要介绍了python+tkinter+mysql做简单数据库查询界面,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-01-01
最新评论