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标准库之循环器(itertools)介绍
Nov 25 Python
Python中返回字典键的值的values()方法使用
May 22 Python
Python标准库之Sys模块使用详解
May 23 Python
详解Python Socket网络编程
Jan 05 Python
Python解析树及树的遍历
Feb 03 Python
Python实现字符串格式化的方法小结
Feb 20 Python
python 获取字符串MD5值方法
May 29 Python
python+influxdb+shell编写区域网络状况表
Jul 27 Python
Python with用法:自动关闭文件进程
Jul 10 Python
Python及Pycharm安装方法图文教程
Aug 05 Python
python tkinter 设置窗口大小不可缩放实例
Mar 04 Python
matplotlib之pyplot模块之标题(title()和suptitle())
Feb 22 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常用特殊运算符号和函数总结(php新手入门必看)
2013/02/02 PHP
JS的IE和Firefox兼容性集锦
2006/12/11 Javascript
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
js屏蔽鼠标键盘(右键/Ctrl+N/Shift+F10/F11/F5刷新/退格键)
2013/01/24 Javascript
nodejs获取本机内网和外网ip地址的实现代码
2014/06/01 NodeJs
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
javascript使用appendChild追加节点实例
2015/01/12 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
JS中正则表达式全局匹配模式 /g用法详解
2017/04/01 Javascript
JS ES6中setTimeout函数的执行上下文示例
2017/04/27 Javascript
使用Vue实现图片上传的三种方式
2018/07/17 Javascript
Electron 如何调用本地模块的方法
2019/02/01 Javascript
vue数据初始化initState的实例详解
2019/04/11 Javascript
JavaScript常用进制转换及位运算实例解析
2020/10/14 Javascript
在JavaScript中查找字符串中最长单词的三种方法(推荐)
2021/01/18 Javascript
Python re模块介绍
2014/11/30 Python
在Django的模板中使用认证数据的方法
2015/07/23 Python
Python的面向对象编程方式学习笔记
2016/07/12 Python
python snownlp情感分析简易demo(分享)
2017/06/04 Python
Python实现按学生年龄排序的实际问题详解
2017/08/29 Python
python 定义给定初值或长度的list方法
2018/06/23 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
python分别打包出32位和64位应用程序
2020/02/18 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
如何更换python默认编辑器的背景色
2020/08/10 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
2020/11/22 Python
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
军校大学生个人的自我评价
2014/02/17 职场文书
信用卡催款律师函
2015/05/27 职场文书
海上钢琴师观后感
2015/06/03 职场文书
新店开张宣传语
2015/07/13 职场文书
浅谈Python基础之列表那些事儿
2021/05/11 Python
mysql数据库入门第一步之创建表
2021/05/14 MySQL