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字典操作简明总结
Apr 13 Python
python 爬取微信文章
Jan 30 Python
详解Python nose单元测试框架的安装与使用
Dec 20 Python
Python字符串逆序输出的实例讲解
Feb 16 Python
python创造虚拟环境方法总结
Mar 04 Python
超简单使用Python换脸实例
Mar 27 Python
Python发送手机动态验证码代码实例
Feb 28 Python
Python MySQL 日期时间格式化作为参数的操作
Mar 02 Python
Python生成随机验证码代码实例解析
Jun 09 Python
python实现数据结构中双向循环链表操作的示例
Oct 09 Python
python 实现性别识别
Nov 21 Python
浅谈Python从全局与局部变量到装饰器的相关知识
Jun 21 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 批量删除数据的方法分析
2009/10/30 PHP
实例介绍PHP的Reflection反射机制
2014/08/05 PHP
php fseek函数读取大文件两种方法
2016/10/12 PHP
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
Javascript实现多彩雪花从天降散落效果的方法
2015/02/02 Javascript
js实现鼠标经过时图片滚动停止的方法
2015/02/16 Javascript
使用AngularJS处理单选框和复选框的简单方法
2015/06/19 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
2015/08/26 Javascript
jquery删除数组中重复元素
2016/12/05 Javascript
bootstrap组件之按钮式下拉菜单小结
2017/01/19 Javascript
微信小程序 刷新上拉下拉不会断详细介绍
2017/05/11 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
2017/08/18 Javascript
Angular4学习之Angular CLI的安装与使用教程
2018/01/04 Javascript
Webpack 之 babel-loader文件预处理器详解
2018/03/23 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
在vue中封装方法以及多处引用该方法详解
2020/08/14 Javascript
JavaScript Array.flat()函数用法解析
2020/09/02 Javascript
详解Python中的strftime()方法的使用
2015/05/22 Python
剖析Python的Twisted框架的核心特性
2016/05/25 Python
PyCharm使用教程之搭建Python开发环境
2016/06/07 Python
Python中字符串的修改及传参详解
2016/11/30 Python
Python爬虫工程师面试问题总结
2018/03/22 Python
Django后台获取前端post上传的文件方法
2018/05/28 Python
python文本数据处理学习笔记详解
2019/06/17 Python
python并发编程多进程 互斥锁原理解析
2019/08/20 Python
python同义词替换的实现(jieba分词)
2020/01/21 Python
python使用pymongo与MongoDB基本交互操作示例
2020/04/09 Python
Python如何把字典写入到CSV文件的方法示例
2020/08/23 Python
Prometheus开发中间件Exporter过程详解
2020/11/30 Python
what is the difference between ext2 and ext3
2013/11/03 面试题
副总经理党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/06 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
医生个人年度总结
2015/02/28 职场文书
2016学习依法治国心得体会
2016/01/15 职场文书
导游词之河北白洋淀
2020/01/15 职场文书
Python数组变形的几种实现方法
2022/05/30 Python