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利用dir函数查看类中所有成员函数示例代码
Sep 08 Python
使用pandas read_table读取csv文件的方法
Jul 04 Python
python编程使用协程并发的优缺点
Sep 20 Python
Python lxml解析HTML并用xpath获取元素的方法
Jan 02 Python
Python高级特性与几种函数的讲解
Mar 08 Python
Python程序包的构建和发布过程示例详解
Jun 09 Python
python 上下文管理器及自定义原理解析
Nov 19 Python
Python语言异常处理测试过程解析
Jan 08 Python
Python计算公交发车时间的完整代码
Feb 12 Python
Python+OpenCV图像处理——图像二值化的实现
Oct 24 Python
python中re模块知识点总结
Jan 17 Python
python垃圾回收机制原理分析
Apr 13 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
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
解决中英文字符串长度问题函数
2007/01/16 PHP
php 无限分类的树类代码
2009/12/03 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
2014/11/03 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
Mootools 1.2教程 同时进行多个形变动画
2009/09/15 Javascript
node.js中的fs.exists方法使用说明
2014/12/17 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
2015/03/24 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
js判断数组key是否存在(不用循环)的简单实例
2016/08/03 Javascript
angularjs ocLazyLoad分步加载js文件实例
2017/01/17 Javascript
原生javascript实现图片放大镜效果
2017/01/18 Javascript
canvas实现粒子时钟效果
2017/02/06 Javascript
node.js实现上传文件功能
2019/07/15 Javascript
Vue监听滚动实现锚点定位(双向)示例
2019/11/13 Javascript
[01:02:05]LGD vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[19:54]夜魇凡尔赛茶话会 第一期02:看图识人
2021/03/11 DOTA
python中异常报错处理方法汇总
2016/11/20 Python
python安装教程 Pycharm安装详细教程
2017/05/02 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
Python实现中一次读取多个值的方法
2018/04/22 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
2020/04/15 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
2020/09/21 Python
python 基于opencv 实现一个鼠标绘图小程序
2020/12/11 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
html5 canvas手势解锁源码分享
2020/01/07 HTML / CSS
 Alo Yoga官网:购买瑜伽服装
2018/06/17 全球购物
澳大利亚礼品卡商店:Gift Card Store
2019/06/24 全球购物
俄罗斯外国汽车和国产汽车配件网上商店:Движком
2020/04/19 全球购物
大学生求职信范文应怎么写
2014/01/01 职场文书
人事任命书怎么写
2014/06/05 职场文书
导航工程专业自荐信
2014/09/02 职场文书
2014年幼师工作总结
2014/11/22 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
SpringAop日志找不到方法的处理
2021/06/21 Java/Android