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检测远程端口是否打开的方法
Mar 14 Python
在Python中使用mongoengine操作MongoDB教程
Apr 24 Python
python简单实现操作Mysql数据库
Jan 29 Python
python 从csv读数据到mysql的实例
Jun 21 Python
opencv与numpy的图像基本操作
Mar 08 Python
Django使用unittest模块进行单元测试过程解析
Aug 02 Python
Django Admin中增加导出Excel功能过程解析
Sep 04 Python
Flask中endpoint的理解(小结)
Dec 11 Python
python主线程与子线程的结束顺序实例解析
Dec 17 Python
python torch.utils.data.DataLoader使用方法
Apr 02 Python
基于Python pyecharts实现多种图例代码解析
Aug 10 Python
详解Python中第三方库Faker
Sep 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
php从给定url获取文件扩展名的方法
2015/03/14 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
JavaScript 编程引入命名空间的方法与代码
2007/08/13 Javascript
JavaScript游戏之是男人就下100层代码打包
2010/11/08 Javascript
在VS2008中使用jQuery智能感应的方法
2010/12/30 Javascript
javascript学习笔记(七)利用javascript来创建和存储cookie
2011/04/08 Javascript
表格奇偶行设置不同颜色的核心JS代码
2013/12/24 Javascript
jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】
2016/06/16 Javascript
Javascript vue.js表格分页,ajax异步加载数据
2016/10/24 Javascript
Bootstrap table的使用方法
2016/11/02 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
2017/05/17 Javascript
vue中mint-ui的使用方法
2018/04/04 Javascript
jQuery实现的两种简单弹窗效果示例
2018/04/18 jQuery
angular2路由之routerLinkActive指令【推荐】
2018/05/30 Javascript
openLayer4实现动态改变标注图标
2020/08/17 Javascript
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
Python之Web框架Django项目搭建全过程
2017/05/02 Python
python实现图片文件批量重命名
2020/03/23 Python
python实现事件驱动
2018/11/21 Python
python实现指定ip端口扫描方式
2019/12/17 Python
Python面向对象封装操作案例详解 II
2020/01/02 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
Python3如何在服务器打印资产信息
2020/08/27 Python
AmazeUI的JS表单验证框架实战示例分享
2020/08/21 HTML / CSS
存储过程和sql语句的优缺点
2014/07/02 面试题
最新的大学生找工作自我评价
2013/09/29 职场文书
个人简历自荐信
2013/12/05 职场文书
学生请假条
2014/04/11 职场文书
职位说明书范文
2014/05/07 职场文书
施工安全承诺书
2014/05/22 职场文书
立志成才演讲稿
2014/09/04 职场文书
学校联谊协议书
2014/09/16 职场文书
跳高加油稿
2015/07/21 职场文书
医院保洁员管理制度
2015/08/05 职场文书
浅谈vue2的$refs在vue3组合式API中的替代方法
2021/04/18 Vue.js
关于Python使用turtle库画任意图的问题
2022/04/01 Python