python base64库给用户名或密码加密的流程


Posted in Python onJanuary 02, 2020

给明文密码加密的流程:

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库给用户名或密码加密的流程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python在线编译器的简单原理及简单实现代码
Feb 02 Python
PyQt5打开文件对话框QFileDialog实例代码
Feb 07 Python
python单线程文件传输的实例(C/S)
Feb 13 Python
python 反编译exe文件为py文件的实例代码
Jun 27 Python
Python实现Selenium自动化Page模式
Jul 14 Python
Python队列RabbitMQ 使用方法实例记录
Aug 05 Python
简单易懂Pytorch实战实例VGG深度网络
Aug 27 Python
基于Django实现日志记录报错信息
Dec 17 Python
python3 正则表达式基础廖雪峰
Mar 25 Python
详解torch.Tensor的4种乘法
Sep 03 Python
python spilt()分隔字符串的实现示例
May 21 Python
Python写情书? 10行代码展示如何把情书写在她的照片里
Apr 21 Python
python文件处理fileinput使用方法详解
Jan 02 #Python
linux 下python多线程递归复制文件夹及文件夹中的文件
Jan 02 #Python
Pytorch的mean和std调查实例
Jan 02 #Python
pytorch 图像预处理之减去均值,除以方差的实例
Jan 02 #Python
Linux下升级安装python3.8并配置pip及yum的教程
Jan 02 #Python
pytorch实现focal loss的两种方式小结
Jan 02 #Python
pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解
Jan 02 #Python
You might like
PHP Global定义全局变量使用说明
2013/08/15 PHP
php文件读取方法实例分析
2015/06/20 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
Laravel5.7 Eloquent ORM快速入门详解
2019/04/12 PHP
js宝典学习笔记(上)
2007/01/10 Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
2011/01/11 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
转换字符串为json对象的方法详解
2013/11/29 Javascript
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
javascript实现动态表头及表列的展现方法
2015/07/14 Javascript
JS实现的3D拖拽翻页效果代码
2015/10/31 Javascript
浅析javascript中的事件代理
2015/11/06 Javascript
理解jquery事件冒泡
2016/01/03 Javascript
详解NodeJs支付宝移动支付签名及验签
2017/01/06 NodeJs
ES6中数组array新增方法实例总结
2017/11/07 Javascript
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
JS实现面向对象继承的5种方式分析
2018/07/21 Javascript
JavaScript简单实现的仿微博留言功能示例
2019/01/17 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
jQuery弹框插件使用方法详解
2020/05/26 jQuery
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
解决python tkinter界面卡死的问题
2019/07/17 Python
pytorch 模型可视化的例子
2019/08/17 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
详解基于python的全局与局部序列比对的实现(DNA)
2020/10/07 Python
Pharmacy Online中文直邮网站:澳洲大型药房
2020/06/27 全球购物
人事部专员岗位职责
2014/03/04 职场文书
自我鉴定标准格式
2014/03/19 职场文书
庆七一活动总结
2014/08/27 职场文书
领导班子奢靡之风查摆问题及整改措施
2014/09/27 职场文书
英语专业毕业论文答辩开场白
2015/05/27 职场文书
《女娲补天》读后感5篇
2019/12/31 职场文书
python 经纬度求两点距离、三点面积操作
2021/06/03 Python
Redis RDB技术底层原理详解
2021/09/04 Redis