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 相关文章推荐
Linux中Python 环境软件包安装步骤
Mar 31 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
Apr 02 Python
详解pandas删除缺失数据(pd.dropna()方法)
Jun 25 Python
Python Django的安装配置教程图文详解
Jul 17 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
Jul 31 Python
Python + Flask 实现简单的验证码系统
Oct 01 Python
python框架django项目部署相关知识详解
Nov 04 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
Feb 28 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
Mar 14 Python
如何基于python对接钉钉并获取access_token
Apr 21 Python
Python字典fromkeys()方法使用代码实例
Jul 20 Python
python中逻辑与或(and、or)和按位与或异或(&、|、^)区别
Aug 05 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 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
php获取url字符串截取路径的文件名和扩展名的函数
2010/01/22 PHP
ThinkPHP中Session用法详解
2014/11/29 PHP
php实现读取手机客户端浏览器的类
2015/01/09 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
使用纯php代码实现页面伪静态的方法
2015/07/25 PHP
Yii2中datetime类的使用
2016/12/17 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
javascript-简单的日历实现及Date对象语法介绍(附图)
2013/05/30 Javascript
使用JS取得焦点(focus)元素代码
2014/03/22 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
轻松实现javascript数据双向绑定
2015/11/11 Javascript
Bootstrap网格系统详解
2016/04/26 Javascript
关于动态生成dom绑定事件失效的原因及解决方法
2016/08/06 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
2017/07/10 Javascript
使用Node.js搭建静态资源服务详细教程
2017/08/02 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
2018/06/19 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
React中使用外部样式的3种方式(小结)
2019/05/28 Javascript
web.py获取上传文件名的正确方法
2014/08/26 Python
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
考试退步检讨书
2014/01/15 职场文书
会计岗位职责模板
2014/03/12 职场文书
推广活动策划方案
2014/08/23 职场文书
2015年团支部年度工作总结
2015/05/27 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书
js实现模拟购物商城案例
2021/05/18 Javascript
python中Matplotlib绘制直线的实例代码
2021/07/04 Python
Python Flask搭建yolov3目标检测系统详解流程
2021/11/07 Python
Python学习之os包使用教程详解
2022/03/21 Python
springboot 全局异常处理和统一响应对象的处理方式
2022/06/28 Java/Android