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实现的插入排序算法原理与用法实例分析
Nov 22 Python
Python使用遗传算法解决最大流问题
Jan 29 Python
Python模块文件结构代码详解
Feb 03 Python
Python实现绘制双柱状图并显示数值功能示例
Jun 23 Python
浅析使用Python搭建http服务器
Oct 27 Python
python flask搭建web应用教程
Nov 19 Python
Python matplotlib画曲线例题解析
Feb 07 Python
python字典和json.dumps()的遇到的坑分析
Mar 11 Python
Python SMTP配置参数并发送邮件
Jun 16 Python
Python子进程subpocess原理及用法解析
Jul 16 Python
Django限制API访问频率常用方法解析
Oct 12 Python
Python使用psutil库对系统数据进行采集监控的方法
Aug 23 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数据缓存技术
2007/02/14 PHP
php多个文件及图片上传实例详解
2014/11/10 PHP
详解php实现页面静态化原理
2017/06/21 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
jquery根据name属性查找的小例子
2013/11/21 Javascript
JavaScript多图片上传案例
2015/09/28 Javascript
理解javascript异步编程
2016/01/27 Javascript
JavaScript中使用数组方法汇总
2016/02/16 Javascript
jQuery获取元素父节点的方法
2016/06/21 Javascript
玩转NODE.JS(四)-搭建简单的聊天室的代码
2016/11/11 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
Vue实现导出excel表格功能
2018/03/30 Javascript
Vue源码解析之Template转化为AST的实现方法
2018/12/14 Javascript
详解vue配置后台接口方式
2019/03/29 Javascript
解决vue页面渲染但dom没渲染的操作
2020/07/27 Javascript
vue router-link 默认a标签去除下划线的实现
2020/11/06 Javascript
使用python统计文件行数示例分享
2014/02/21 Python
Python入门学习之字符串与比较运算符
2015/10/12 Python
使用Python中的tkinter模块作图的方法
2017/02/07 Python
python3实现字符串的全排列的方法(无重复字符)
2018/07/07 Python
Python饼状图的绘制实例
2019/01/15 Python
python Selenium实现付费音乐批量下载的实现方法
2019/01/24 Python
python自定义函数实现最大值的输出方法
2019/07/09 Python
Python绘图实现显示中文
2019/12/04 Python
将pytorch转成longtensor的简单方法
2020/02/18 Python
个人生活学习自我评价范文
2013/11/26 职场文书
仓库管理专业个人的自我评价
2013/12/30 职场文书
党的群众路线教育实践活动个人承诺书
2014/05/22 职场文书
优秀教师个人总结
2015/02/11 职场文书
大学生个人总结范文
2015/02/15 职场文书
2015年中秋寄语
2015/07/31 职场文书
维护民族团结心得体会2016
2016/01/15 职场文书
Oracle以逗号分隔的字符串拆分为多行数据实例详解
2021/07/16 Oracle
Python selenium绕过webdriver监测执行javascript
2022/04/12 Python
vue生命周期钩子函数以及触发时机
2022/04/26 Vue.js