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实现保证只能运行一个脚本实例
Jun 24 Python
python实现linux下使用xcopy的方法
Jun 28 Python
Python中将字典转换为XML以及相关的命名空间解析
Oct 15 Python
Python带动态参数功能的sqlite工具类
May 26 Python
python+pandas+时间、日期以及时间序列处理方法
Jul 10 Python
对python PLT中的image和skimage处理图片方法详解
Jan 10 Python
Python设计模式之适配器模式原理与用法详解
Jan 15 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
Jun 17 Python
NumPy中的维度Axis详解
Nov 26 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
Mar 13 Python
Python用来做Web开发的优势有哪些
Aug 05 Python
Python+Appium实现自动抢微信红包
May 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
apache php模块整合操作指南
2012/11/16 PHP
php生成百度sitemap站点地图类函数实例
2014/10/17 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
2019/08/06 PHP
IE和Firefox在JavaScript应用中的兼容性探讨
2008/04/01 Javascript
加载jQuery后$冲突的解决办法
2010/07/09 Javascript
JS实现根据出生年月计算年龄
2014/01/10 Javascript
Javascript实现Web颜色值转换
2015/02/05 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
2015/11/24 Javascript
BootStrap轮播HTML代码(推荐)
2016/12/10 Javascript
laydate.js日期时间选择插件
2017/01/04 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
2017/06/29 Javascript
React Native使用Modal自定义分享界面的示例代码
2017/10/31 Javascript
vue 使用vue-i18n做全局中英文切换的方法
2018/10/29 Javascript
VSCode Vue开发推荐插件和VSCode快捷键(小结)
2020/08/08 Javascript
Vue实现购物车基本功能
2020/11/08 Javascript
jquery实现鼠标悬浮弹出气泡提示框
2020/12/23 jQuery
python实现自动登录人人网并采集信息的方法
2015/06/28 Python
python字符串和常用数据结构知识总结
2019/05/21 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
python进程间通信Queue工作过程详解
2019/11/01 Python
Numpy数组的广播机制的实现
2020/11/03 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
2021/01/01 Python
美国在线珠宝商店:SZUL
2017/02/11 全球购物
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
美国现代家具网站:Design Within Reach
2018/07/19 全球购物
到底Java是如何传递参数的?是by value或by reference?
2012/07/13 面试题
计算机网络专业个人的自我评价
2013/10/17 职场文书
医学专业毕业生个人的求职信
2013/12/04 职场文书
打架检讨书100字
2014/01/08 职场文书
本溪关门山导游词
2015/02/09 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书
初中语文教学研修日志
2015/11/13 职场文书
HTML5 语义化标签(移动端必备)
2021/08/23 HTML / CSS
使用Oracle命令进行数据库备份与还原
2021/12/06 Oracle
pnpm对npm及yarn降维打击详解
2022/08/05 Javascript