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 相关文章推荐
Django中实现一个高性能计数器(Counter)实例
Jul 09 Python
详解Python中的装饰器、闭包和functools的教程
Apr 02 Python
Python标准库sched模块使用指南
Jul 06 Python
Python基础教程之利用期物处理并发
Mar 29 Python
Python 获取中文字拼音首个字母的方法
Nov 28 Python
Python循环结构的应用场景详解
Jul 11 Python
Python定时任务随机时间执行的实现方法
Aug 14 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
Feb 12 Python
python时间与Unix时间戳相互转换方法详解
Feb 13 Python
Python脚本如何在bilibili中查找弹幕发送者
Jun 04 Python
Numpy中ndim、shape、dtype、astype的用法详解
Jun 14 Python
python中PyQuery库用法分享
Jan 15 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实现弹出消息提示框的两种方法
2013/12/17 PHP
php读取目录所有文件信息dir示例
2014/03/18 PHP
PHP会话处理的10个函数
2015/08/11 PHP
Zend Framework教程之Bootstrap类用法概述
2016/03/14 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
JS小框架 fly javascript framework
2009/11/26 Javascript
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
使用javascript实现json数据以csv格式下载
2015/01/09 Javascript
深入浅析同源策略和跨域访问
2015/11/26 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
深入理解node exports和module.exports区别
2016/06/01 Javascript
js 博客内容进度插件详解
2017/02/19 Javascript
win系统下nodejs环境安装配置
2017/05/04 NodeJs
JS声明对象时属性名加引号与不加引号的问题及解决方法
2018/02/16 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
Vue绑定内联样式问题
2018/10/17 Javascript
Webpack4+Babel7+ES6兼容IE8的实现
2019/04/10 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
2019/05/16 Javascript
Vue实现日历小插件
2019/06/26 Javascript
python 实现插入排序算法
2012/06/05 Python
python3.x上post发送json数据
2018/03/04 Python
celery4+django2定时任务的实现代码
2018/12/23 Python
实例介绍Python中整型
2019/02/11 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
澳大利亚最大的女装零售商:Millers
2017/09/10 全球购物
美国最大的在线寄售和旧货店:Swap.com
2018/08/27 全球购物
英国屋顶用品和材料超市:Roofing Supplies UK
2019/08/24 全球购物
linux面试题参考答案(9)
2015/01/07 面试题
护理毕业生自我鉴定
2014/02/11 职场文书
《雷雨》教学反思
2014/02/20 职场文书
三月学雷锋月活动总结
2014/04/28 职场文书
一帮一活动总结
2014/05/08 职场文书
经济管理自荐书
2014/06/09 职场文书
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
上诉状格式
2015/05/23 职场文书