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字符转换
Sep 06 Python
Python聚类算法之基本K均值实例详解
Nov 20 Python
举例讲解如何在Python编程中进行迭代和遍历
Jan 19 Python
python类的继承实例详解
Mar 30 Python
go和python变量赋值遇到的一个问题
Aug 31 Python
1分钟快速生成用于网页内容提取的xslt
Feb 23 Python
对python中的for循环和range内置函数详解
Apr 17 Python
python爬虫之线程池和进程池功能与用法详解
Aug 02 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
Aug 07 Python
Python Django实现layui风格+django分页功能的例子
Aug 29 Python
Python机器学习三大件之一numpy
May 10 Python
图神经网络GNN算法
May 11 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过滤★等特殊符号的正则
2014/01/27 PHP
Yii操作数据库实现动态获取表名的方法
2016/03/29 PHP
解决在Laravel 中处理OPTIONS请求的问题
2019/10/11 PHP
清空上传控件input file的值
2010/07/03 Javascript
JavaScript中使用正则匹配多条,且获取每条中的分组数据
2010/11/30 Javascript
JavaScript Date对象 日期获取函数
2010/12/19 Javascript
css与javascript跨浏览器兼容性总结
2014/09/15 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
微信中一些常用的js方法汇总
2015/03/12 Javascript
简易的投票系统以及js刷票思路和方法
2015/04/07 Javascript
JQuery+CSS实现图片上放置按钮的方法
2015/05/29 Javascript
javascript动态生成树形菜单的方法
2015/11/14 Javascript
Bootstrap自定义文件上传下载样式
2016/05/26 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
Angular页面间切换及传值的4种方法
2016/11/04 Javascript
JS 拦截全局ajax请求实例解析
2016/11/29 Javascript
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
koa2+vue实现登陆及登录状态判断
2019/08/15 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
Python选择排序、冒泡排序、合并排序代码实例
2015/04/10 Python
python绘制铅球的运行轨迹代码分享
2017/11/14 Python
Python语言描述随机梯度下降法
2018/01/04 Python
Python实现的多进程拷贝文件并显示百分比功能示例
2019/04/09 Python
利用python画出AUC曲线的实例
2020/02/28 Python
python实现用户名密码校验
2020/03/18 Python
介绍一下sql server的安全性
2014/08/10 面试题
职称评定自我鉴定
2014/03/18 职场文书
房产委托公证书
2014/04/08 职场文书
如何撰写一封出色的求职信
2014/04/27 职场文书
设计顾问服务计划书
2014/05/04 职场文书
“四风”问题的主要表现和危害思想汇报
2014/09/19 职场文书
如何利用map实现Nginx允许多个域名跨域
2021/03/31 Servers
Javascript 解构赋值详情
2021/11/17 Javascript
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python
Java中Quartz高可用定时任务快速入门
2022/04/03 Java/Android