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中__call__方法示例分析
Oct 11 Python
深入理解python中的atexit模块
Mar 07 Python
python Matplotlib画图之调整字体大小的示例
Nov 20 Python
聊聊Python中的pypy
Jan 12 Python
python如何使用unittest测试接口
Apr 04 Python
基于python批量处理dat文件及科学计算方法详解
May 08 Python
python批量修改文件夹及其子文件夹下的文件内容
Mar 15 Python
python占位符输入方式实例
May 27 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
Apr 12 Python
如何通过Python实现RabbitMQ延迟队列
Nov 28 Python
python中subplot大小的设置步骤
Jun 28 Python
移除Selenium中window.navigator.webdriver值
Jun 10 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
使用 MySQL 开始 PHP 会话
2006/12/21 PHP
php下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
php+ajax导入大数据时产生的问题处理
2014/06/11 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
2014/10/27 PHP
php实现爬取和分析知乎用户数据
2016/01/26 PHP
JavaScript Date对象使用总结
2009/05/14 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
iframe中子父类窗口调用JS的方法及注意事项
2015/08/25 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
浅谈Vue中render中的h箭头函数
2019/11/07 Javascript
通过实例解析json与jsonp原理及使用方法
2020/09/27 Javascript
Python中实现两个字典(dict)合并的方法
2014/09/23 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
python的pandas工具包,保存.csv文件时不要表头的实例
2018/06/14 Python
浅谈Python traceback的优雅处理
2018/08/31 Python
python 读取鼠标点击坐标的实例
2018/12/29 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
django xadmin 管理器常用显示设置方式
2020/03/11 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
python3.7 openpyxl 在excel单元格中写入数据实例
2020/09/01 Python
python如何快速拼接字符串
2020/10/28 Python
HUGO BOSS美国官方网上商店:世界知名奢侈品牌
2017/08/04 全球购物
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
车间主任岗位职责
2014/03/16 职场文书
小学教师师德师风演讲稿
2014/08/22 职场文书
离婚协议书范本及离婚须知
2014/10/15 职场文书
英文投诉信格式
2015/07/03 职场文书
严以律己专题学习研讨会发言材料
2015/11/09 职场文书
2016元旦文艺汇演主持词(开场白+结束语)
2015/12/03 职场文书
晶体管来复再生式二管收音机
2021/04/22 无线电
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
2021/06/08 Python