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 相关文章推荐
在Django中创建第一个静态视图
Jul 15 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
Jun 15 Python
Python方法的延迟加载的示例代码
Dec 18 Python
django将图片上传数据库后在前端显式的方法
May 25 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
Apr 18 Python
Django 多环境配置详解
May 14 Python
python数据预处理之数据标准化的几种处理方式
Jul 17 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
Aug 06 Python
Python3将数据保存为txt文件的方法
Sep 12 Python
Pytorch 数据加载与数据预处理方式
Dec 31 Python
python关于倒排列的知识点总结
Oct 13 Python
解决import tensorflow导致jupyter内核死亡的问题
Feb 06 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 微信支付类 demo
2015/11/30 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
2016/10/12 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
sencha touch 模仿tabpanel导航栏TabBar的实例代码
2013/10/24 Javascript
jquery 删除cookie失效的解决方法
2013/11/12 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
关于 jQuery Easyui异步加载tree的问题解析
2016/12/06 Javascript
JavaScript Base64 作为文件上传的实例代码解析
2017/02/14 Javascript
浅谈js函数三种定义方式 & 四种调用方式 & 调用顺序
2017/02/19 Javascript
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
JS简单获取并修改input文本框内容的方法示例
2018/04/08 Javascript
mpvue构建小程序的方法(步骤+地址)
2018/05/22 Javascript
node.js到底要不要加分号浅析
2018/07/11 Javascript
vue项目打包上传github并制作预览链接(pages)
2019/04/19 Javascript
百度小程序自定义通用toast组件
2019/07/17 Javascript
小程序实现背景音乐播放和暂停
2020/06/19 Javascript
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
基于JS实现操作成功之后自动跳转页面
2020/09/25 Javascript
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
JavaScript 绘制饼图的示例
2021/02/19 Javascript
[18:16]sakonoko 2017年卡尔集锦
2018/02/06 DOTA
python中将字典形式的数据循环插入Excel
2018/01/16 Python
PyCharm设置SSH远程调试的方法
2018/07/17 Python
django商品分类及商品数据建模实例详解
2020/01/03 Python
NFL墨西哥官方商店:Tienda NFL
2017/11/28 全球购物
为有想象力的人提供的生活方式商店:Firebox
2018/06/04 全球购物
彪马英国官网:PUMA英国
2019/02/11 全球购物
Blue Nile蓝色尼罗河香港官网:世界最大在线钻石珠宝销售商
2020/05/07 全球购物
介绍下Java中==和equals的区别
2013/09/01 面试题
国贸类专业毕业生的求职信分享
2013/12/08 职场文书
木工主管岗位职责
2013/12/08 职场文书
员工试用期自我评价
2014/09/18 职场文书
党委书记个人检查对照材料思想汇报
2014/10/11 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
2015选调生工作总结
2015/07/24 职场文书