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 相关文章推荐
安装ElasticSearch搜索工具并配置Python驱动的方法
Dec 22 Python
Python 爬虫多线程详解及实例代码
Oct 08 Python
numpy找出array中的最大值,最小值实例
Apr 03 Python
Django实现登录随机验证码的示例代码
Jun 20 Python
python实现定时压缩指定文件夹发送邮件
Dec 22 Python
python实现在cmd窗口显示彩色文字
Jun 24 Python
Python使用线程来接收串口数据的示例
Jul 02 Python
python获取Pandas列名的几种方法
Aug 07 Python
pycharm 安装JPype的教程
Aug 08 Python
Python实现不规则图形填充的思路
Feb 02 Python
简单了解Python多态与属性运行原理
Jun 15 Python
使用Python爬取Json数据的示例代码
Dec 07 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
Laravel 5框架学习之用户认证
2015/04/09 PHP
为百度UE编辑器上传图片添加水印功能
2015/04/16 PHP
WAMP环境中扩展oracle函数库(oci)
2015/06/26 PHP
php中namespace use用法实例分析
2016/01/22 PHP
PHP CURL中传递cookie的方法步骤
2019/05/09 PHP
列表内容的选择
2006/06/30 Javascript
pjblog中的UBBCode.js
2007/04/25 Javascript
jquery tools系列 expose 学习
2009/09/06 Javascript
javascript 函数参数限制说明
2010/11/19 Javascript
各情景下元素宽高的获取实现代码
2011/09/13 Javascript
JS实现商品倒计时实现代码
2013/05/03 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
基于javascript实现图片切换效果
2016/04/17 Javascript
Highcharts+NodeJS搭建数据可视化平台示例
2017/01/01 NodeJs
Vue.js仿Metronic高级表格(二)数据渲染
2017/04/19 Javascript
vue中子组件调用兄弟组件方法
2018/07/06 Javascript
javascript实现评分功能
2020/06/24 Javascript
JS pushlet XMLAdapter适配器用法案例解析
2020/10/16 Javascript
Python实现简易Web爬虫详解
2018/01/03 Python
详解django自定义中间件处理
2018/11/21 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
2019/01/05 Python
python常用库之NumPy和sklearn入门
2019/07/11 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
2020/03/03 Python
HTML5 用动画的表现形式装载图像
2016/03/08 HTML / CSS
美国餐厅用品和厨房设备批发网站:KaTom Restaurant Supply
2018/01/27 全球购物
Clarks鞋法国官方网站:英国其乐鞋品牌
2018/02/11 全球购物
台湾最大网路书店:博客来
2018/03/18 全球购物
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
家长写给老师的建议书
2014/03/13 职场文书
人资专员岗位职责
2014/04/04 职场文书
龙潭大峡谷导游词
2015/02/10 职场文书
退伍军人感言
2015/08/01 职场文书
团组织关系介绍信
2019/06/24 职场文书
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫
Java设计模式中的命令模式
2022/04/28 Java/Android
JS实现九宫格拼图游戏
2022/06/28 Javascript