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的字典和列表的使用中一些需要注意的地方
Apr 24 Python
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
Apr 12 Python
Python3.5 创建文件的简单实例
Apr 26 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
Jul 02 Python
django+echart绘制曲线图的方法示例
Nov 26 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
Apr 25 Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
Jul 23 Python
python实现简单井字棋小游戏
Mar 05 Python
python字典和json.dumps()的遇到的坑分析
Mar 11 Python
使用python检查yaml配置文件是否符合要求
Apr 09 Python
在django admin中配置搜索域是一个外键时的处理方法
May 20 Python
解决Keras 中加入lambda层无法正常载入模型问题
Jun 16 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 将bmp图片转为jpg等其他任意格式的图片
2009/06/21 PHP
php输出表格的实现代码(修正版)
2010/12/29 PHP
PHP编写文件多服务器同步程序
2016/07/02 PHP
Ctrl+Enter提交内容信息
2006/06/26 Javascript
jQuery ajax BUG:object doesn't support this property or method
2010/07/06 Javascript
关于JS字符串函数String.replace()
2013/04/07 Javascript
jQuery之自动完成组件的深入解析
2013/06/19 Javascript
HTML页面滚动时获取离页面顶部的距离2种实现方法
2013/09/05 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
javascript框架设计读书笔记之模块加载系统
2014/12/02 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
2016/05/30 Javascript
AngularJs 指令详解及示例代码
2016/09/01 Javascript
JavaScript中匿名函数的递归调用
2017/01/22 Javascript
jquery实现图片放大点击切换
2017/06/06 jQuery
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
2017/07/23 Javascript
VueJs单页应用实现微信网页授权及微信分享功能示例
2017/07/26 Javascript
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
2018/08/24 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
3分钟读懂移动端rem使用方法(推荐)
2019/05/06 Javascript
浅谈Python数据类型之间的转换
2016/06/08 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
2016/09/21 Python
Python打印输出数组中全部元素
2018/03/13 Python
python 日期操作类代码
2018/05/05 Python
Python实现正则表达式匹配任意的邮箱方法
2018/12/20 Python
Python使用Pickle模块进行数据保存和读取的讲解
2019/04/09 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
Python自动化完成tb喵币任务的操作方法
2019/10/30 Python
微软英国官方网站:Microsoft英国
2016/10/15 全球购物
产品销售员岗位职责
2013/12/18 职场文书
自我评价的写作规则
2014/01/06 职场文书
省级四好少年事迹材料
2014/01/25 职场文书
村安全生产责任书
2014/08/25 职场文书
尊师重教演讲稿
2014/09/04 职场文书
Oracle创建只读账号的详细步骤
2021/06/07 Oracle
浅谈spring boot使用thymeleaf版本的问题
2021/08/04 Java/Android