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实现文件大小输出
Jan 11 Python
python实现下载文件的三种方法
Feb 09 Python
分享一个可以生成各种进制格式IP的小工具实例代码
Jul 28 Python
Django 导出 Excel 代码的实例详解
Aug 11 Python
Django中日期处理注意事项与自定义时间格式转换详解
Aug 06 Python
Python根据文件名批量转移图片的方法
Oct 21 Python
python定时按日期备份MySQL数据并压缩
Apr 19 Python
python集合是否可变总结
Jun 20 Python
对python中的os.getpid()和os.fork()函数详解
Aug 08 Python
Python流程控制 if else实现解析
Sep 02 Python
python中format函数如何使用
Jun 22 Python
python自动化测试之Selenium详解
Mar 13 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获取表单中多个同名input元素的值
2014/03/20 PHP
PHP+MySQL之Insert Into数据插入用法分析
2015/09/27 PHP
CI映射(加载)数据到view层的方法
2016/03/28 PHP
php封装的mysqli类完整实例
2016/10/18 PHP
将中国标准时间转换成标准格式的代码
2014/03/20 Javascript
函数式 JavaScript(一)简介
2014/07/07 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
2015/03/04 Javascript
jquery 构造函数在表单提交过程中修改数据
2015/05/25 Javascript
JavaScript实现搜索框的自动完成功能(一)
2016/02/25 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
2016/06/06 Javascript
AngularJs IE Compatibility 兼容老版本IE
2016/09/01 Javascript
jQuery查找节点并获取节点属性的方法
2016/09/09 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
JavaScript中关于class的调用方法
2017/11/28 Javascript
ionic3双击返回退出应用的方法
2019/09/17 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
2019/10/10 jQuery
ElementUI Tree 树形控件的使用并给节点添加图标
2020/02/27 Javascript
python实现连接mongodb的方法
2015/05/08 Python
用Python的Django框架来制作一个RSS阅读器
2015/07/22 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
2016/02/19 Python
解决DataFrame排序sort的问题
2018/06/07 Python
使用python list 查找所有匹配元素的位置实例
2019/06/11 Python
快速查找Python安装路径方法
2020/02/06 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
Django中Q查询及Q()对象 F查询及F()对象用法
2020/07/09 Python
Python 获取异常(Exception)信息的几种方法
2020/12/29 Python
CSS3对图片照片进行边缘模糊处理的实现
2018/08/08 HTML / CSS
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
Anthropologie英国:美国家喻户晓的休闲服装和家居产品品牌
2018/12/05 全球购物
银行行长竞聘演讲稿
2014/04/23 职场文书
银行贷款委托书范本
2014/10/11 职场文书
工会2014法制宣传日活动总结
2014/11/01 职场文书
立春观后感
2015/06/18 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
《比的意义》教学反思
2016/02/18 职场文书
2016年小学教师师德承诺书
2016/03/25 职场文书