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聚类算法之DBSACN实例分析
Nov 20 Python
Python+MongoDB自增键值的简单实现
Nov 04 Python
Pycharm 设置自定义背景颜色的图文教程
May 23 Python
对numpy中shape的深入理解
Jun 15 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
Jul 18 Python
把django中admin后台界面的英文修改为中文显示的方法
Jul 26 Python
Django实现web端tailf日志文件功能及实例详解
Jul 28 Python
Python中pyecharts安装及安装失败的解决方法
Feb 18 Python
Python 炫技操作之合并字典的七种方法
Apr 10 Python
python中urllib.request和requests的使用及区别详解
May 05 Python
virtualenv介绍及简明教程
Jun 23 Python
python运行脚本文件的三种方法实例
Jun 25 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
评分9.0以上的动画电影,剧情除了经典还很燃
2020/03/04 日漫
laravel学习教程之存取器
2016/07/30 PHP
php使用curl详细解析及问题汇总
2016/08/11 PHP
PHP入门教程之会话控制技巧(cookie与session)
2016/09/11 PHP
PHP下载文件函数与用法示例
2019/09/27 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
JAVASCRIPT style 中visibility和display之间的区别
2010/01/22 Javascript
JQuery节点元素属性操作方法
2015/06/11 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
2015/09/04 Javascript
JavaScript解八皇后问题的方法总结
2016/06/12 Javascript
关于RequireJS的简单介绍即使用方法
2016/10/20 Javascript
js实现音频控制进度条功能
2017/04/01 Javascript
JS函数节流和防抖之间的区分和实现详解
2019/01/11 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
javascript事件循环event loop的简单模型解释与应用分析
2020/03/14 Javascript
在antd4.0中Form使用initialValue操作
2020/11/02 Javascript
[02:49]DOTA2完美大师赛首日观众采访
2017/11/23 DOTA
编写Python脚本把sqlAlchemy对象转换成dict的教程
2015/05/29 Python
python tensorflow基于cnn实现手写数字识别
2018/01/01 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
Python简单实现查找一个字符串中最长不重复子串的方法
2018/03/26 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
Python pymongo模块常用操作分析
2018/09/01 Python
解决django后台样式丢失,css资源加载失败的问题
2019/06/11 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
世界最大的私人旅行指南出版商:孤独星球
2016/08/23 全球购物
Vision Directa智利眼镜网:框架眼镜、隐形眼镜和名牌太阳眼镜
2016/11/23 全球购物
德国化妆品和天然化妆品网上商店:kosmetikfuchs.de
2017/06/09 全球购物
应届生简历中的自我评价
2014/01/13 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
2015年度环卫处工作总结
2015/07/24 职场文书
CSS 制作波浪效果的思路
2021/05/18 HTML / CSS
MSSQL基本语法操作
2022/04/11 SQL Server
HttpClient实现文件上传功能
2022/08/14 Java/Android