Python hashlib模块加密过程解析


Posted in Python onNovember 05, 2019

这篇文章主要介绍了Python hashlib模块加密过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

hashlib模块

用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法

import hashlib
 
m = hashlib.md5()
m.update(b"Hello")
m.update(b"It's me")
print(m.digest())
m.update(b"It's been a long time since last time we ...")
 
print(m.digest()) #2进制格式hash
print(len(m.hexdigest())) #16进制格式hash
'''
def digest(self, *args, **kwargs): # real signature unknown
  """ Return the digest value as a string of binary data. """
  pass
 
def hexdigest(self, *args, **kwargs): # real signature unknown
  """ Return the digest value as a string of hexadecimal digits. """
  pass
 
'''
import hashlib
 
# ######## md5 ########
 
hash = hashlib.md5()
hash.update('admin')
print(hash.hexdigest())
 
# ######## sha1 ########
 
hash = hashlib.sha1()
hash.update('admin')
print(hash.hexdigest())
 
# ######## sha256 ########
 
hash = hashlib.sha256()
hash.update('admin')
print(hash.hexdigest())
 
 
# ######## sha384 ########
 
hash = hashlib.sha384()
hash.update('admin')
print(hash.hexdigest())
 
# ######## sha512 ########
 
hash = hashlib.sha512()
hash.update('admin')
print(hash.hexdigest())

还不够吊?python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 再进行处理然后再加密

散列消息鉴别码,简称HMAC,是一种基于消息鉴别码MAC(Message Authentication Code)的鉴别机制。使用HMAC时,消息通讯的双方,通过验证消息中加入的鉴别密钥K来鉴别消息的真伪;

一般用于网络通信中消息加密,前提是双方先要约定好key,就像接头暗号一样,然后消息发送把用key把消息加密,接收方用key + 消息明文再加密,拿加密后的值 跟 发送者的相对比是否相等,这样就能验证消息的真实性,及发送者的合法性了。

import hmac
h = hmac.new(b'天王盖地虎', b'宝塔镇河妖')
print h.hexdigest()

更多关于md5,sha1,sha256等介绍的文章看这里https://www.tbs-certificates.co.uk/FAQ/en/sha256.html

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用插入排序算法的简单分析与代码示例
May 04 Python
win7 x64系统中安装Scrapy的方法
Nov 18 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
Dec 24 Python
python面试题Python2.x和Python3.x的区别
May 28 Python
使用Django实现把两个模型类的数据聚合在一起
Mar 28 Python
利用django model save方法对未更改的字段依然进行了保存
Mar 28 Python
python调用API接口实现登陆短信验证
May 10 Python
Python sorted对list和dict排序
Jun 09 Python
python实现二分类和多分类的ROC曲线教程
Jun 15 Python
python删除文件、清空目录的实现方法
Sep 23 Python
python实现进度条的多种实现
Apr 29 Python
python_tkinter弹出对话框创建
Mar 20 Python
python set集合使用方法解析
Nov 05 #Python
基于python2.7实现图形密码生成器的实例代码
Nov 05 #Python
python中删除某个元素的方法解析
Nov 05 #Python
Django 框架模型操作入门教程
Nov 05 #Python
Python3.7 读取 mp3 音频文件生成波形图效果
Nov 05 #Python
python被修饰的函数消失问题解决(基于wraps函数)
Nov 04 #Python
Python imread、newaxis用法详解
Nov 04 #Python
You might like
推荐个功能齐全的发送PHP邮件类
2007/01/03 PHP
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
2014/07/12 PHP
jQuery LigerUI 使用教程入门篇
2012/01/18 Javascript
javascript suggest效果 自动完成实现代码分享
2012/02/17 Javascript
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
关于meta viewport中target-densitydpi属性详解(推荐)
2017/08/18 Javascript
详解基于node.js的脚手架工具开发经历
2019/01/28 Javascript
vue用elementui写form表单时,在label里添加空格操作
2020/08/13 Javascript
[48:48]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Dream TIME
2014/05/21 DOTA
[06:48]DOTA2-DPC中国联赛2月26日Recap集锦
2021/03/11 DOTA
python自动化测试之连接几组测试包实例
2014/09/28 Python
Python的包管理器pip更换软件源的方法详解
2016/06/20 Python
基于python3 类的属性、方法、封装、继承实例讲解
2017/09/19 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
Django组件content-type使用方法详解
2019/07/19 Python
django的ORM操作 增加和查询
2019/07/26 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
2019/09/05 Python
python-web根据元素属性进行定位的方法
2019/12/13 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
200行python代码实现贪吃蛇游戏
2020/04/24 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
简述python Scrapy框架
2020/08/17 Python
OpenCV读取与写入图片的实现
2020/10/13 Python
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
房地产员工找工作的自我评价
2013/11/15 职场文书
安全教育月活动总结
2014/05/05 职场文书
电子专业求职信
2014/06/19 职场文书
机关班子查摆问题及整改措施
2014/10/28 职场文书
2014年司法局工作总结
2014/12/11 职场文书
2014流动人口计划生育工作总结
2014/12/20 职场文书
2015共产党员公开承诺书
2015/01/22 职场文书
中学生社区服务活动报告
2015/02/05 职场文书
房地产项目合作意向书
2015/05/08 职场文书