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 (1)
Oct 31 Python
发布你的Python模块详解
Sep 15 Python
Python虚拟环境项目实例
Nov 20 Python
Python字符串拼接六种方法介绍
Dec 18 Python
python字符串与url编码的转换实例
May 10 Python
基于python实现简单日历
Jul 28 Python
python实现flappy bird小游戏
Dec 24 Python
jupyter notebook 实现matplotlib图动态刷新
Apr 22 Python
Python2手动安装更新pip过程实例解析
Jul 16 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
Sep 24 Python
Python json解析库jsonpath原理及使用示例
Nov 25 Python
Selenium浏览器自动化如何上传文件
Apr 06 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
YB217、YB235、YB400浅听
2021/03/02 无线电
WindowsXP中快速配置Apache+PHP5+Mysql
2008/06/05 PHP
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
php实现统计网站在线人数的方法
2015/05/12 PHP
PHP实现适用于自定义的验证码类
2016/06/15 PHP
PHP实现简单计算器小程序
2020/08/28 PHP
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
jQuery实现复选框批量选择与反选的方法
2015/06/17 Javascript
Javascript 获取鼠标当前的位置实现方法
2016/10/27 Javascript
AngularJS实现给动态生成的元素绑定事件的方法
2016/12/14 Javascript
js点击任意区域弹出层消失实现代码
2016/12/27 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
2017/04/11 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
简单的三步vuex入门
2018/05/20 Javascript
微信小程序常用简易小函数总结
2019/02/01 Javascript
JS实现秒杀倒计时特效
2020/01/02 Javascript
node.JS事件机制与events事件模块的使用方法详解
2020/02/06 Javascript
Python Queue模块详细介绍及实例
2016/12/27 Python
Python 加密与解密小结
2018/12/06 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
tensorflow 重置/清除计算图的实现
2020/01/19 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
2020/09/17 Python
英国女鞋购物网站:Moda in Pelle
2019/02/18 全球购物
什么是静态路由?什么是动态路由?各自的特点是什么?
2015/09/16 面试题
介绍一下Linux文件的记录形式
2013/09/29 面试题
大学生收银员求职信分享
2014/01/02 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
酒店保安领班职务说明书
2014/03/04 职场文书
国际贸易专业求职信
2014/06/04 职场文书
借名购房协议书范本
2014/10/06 职场文书
群众路线个人自我剖析材料
2014/10/07 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
读完《骆驼祥子》的观后感!
2019/07/05 职场文书
让文件路径提取变得更简单的Python Path库
2021/05/27 Python
Oracle 临时表空间SQL语句的实现
2021/09/25 Oracle