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正则表达式修复网站文章字体不统一的解决方法
Feb 21 Python
Python中使用urllib2防止302跳转的代码例子
Jul 07 Python
python 上下文管理器使用方法小结
Oct 10 Python
用Python一键搭建Http服务器的方法
Jun 01 Python
对pycharm 修改程序运行所需内存详解
Dec 03 Python
Python设计模式之简单工厂模式实例详解
Jan 22 Python
pow在python中的含义及用法
Jul 11 Python
Python 使用 docopt 解析json参数文件过程讲解
Aug 13 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
Oct 25 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
Dec 25 Python
使用tensorflow根据输入更改tensor shape
Jun 23 Python
Python各协议下socket黏包问题原理
Apr 12 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下实现伪 url 的超简单方法[转]
2007/09/24 PHP
php 面向对象的一个例子
2011/04/12 PHP
测试php连接mysql是否成功的代码分享
2014/01/24 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
复制小说文本时出现的随机乱码的去除方法
2010/09/07 Javascript
使用jQuery的将桌面应用程序引入浏览器
2010/11/19 Javascript
基于jquery的获取浏览器窗口大小的代码
2011/03/28 Javascript
JQuery插入DOM节点的方法
2015/06/11 Javascript
在Mac OS下使用Node.js的简单教程
2015/06/24 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
2015/08/22 Javascript
js简单判断移动端系统的方法
2016/02/25 Javascript
JavaScript生成带有缩进的表格代码
2016/06/15 Javascript
angular实现商品筛选功能
2017/02/01 Javascript
setTimeout函数的神奇使用
2017/02/26 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
React如何避免重渲染
2018/04/10 Javascript
JS实现的简单折叠展开动画效果示例
2018/04/28 Javascript
vue项目实现github在线预览功能
2018/06/20 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
Vue.js中的高级面试题及答案
2020/01/13 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
详解React的回调渲染模式
2020/09/10 Javascript
详细解读Python的web.py框架下的application.py模块
2015/05/02 Python
python截取两个单词之间的内容方法
2018/12/25 Python
美国五金商店:Ace Hardware
2018/03/27 全球购物
如何执行一个shell程序
2012/11/23 面试题
市场开发与营销专业求职信
2013/12/31 职场文书
大一军训感言
2014/01/09 职场文书
跳槽求职信范文
2014/05/26 职场文书
初中学习计划书范文
2014/09/15 职场文书
创业方案:赚钱的烧烤店该怎样做?
2019/07/05 职场文书
2019年年中职场激励人心语录30条
2019/08/07 职场文书
2019年警察入党转正申请书最新范文
2019/09/03 职场文书