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抓取Discuz!用户名脚本代码
Dec 30 Python
Python2.x和3.x下maketrans与translate函数使用上的不同
Apr 13 Python
Python采用Django制作简易的知乎日报API
Aug 03 Python
Python获取当前页面内所有链接的四种方法对比分析
Aug 19 Python
python实现人脸识别代码
Nov 08 Python
基于python实现学生管理系统
Oct 17 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
May 15 Python
python实现QQ批量登录功能
Jun 19 Python
Python vtk读取并显示dicom文件示例
Jan 13 Python
Python脚本导出为exe程序的方法
Mar 25 Python
Python实现ElGamal加密算法的示例代码
Jun 19 Python
Python爬虫网络请求之代理服务器和动态Cookies
Apr 12 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学习之PHP运算符
2006/10/09 PHP
在WordPress中使用wp-cron插件来设置定时任务
2015/12/10 PHP
PHP的mysqli_thread_id()函数讲解
2019/01/24 PHP
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
表单序列化与jq中的serialize使用示例
2014/02/21 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
vue v-model表单控件绑定详解
2017/05/17 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
React 使用recharts实现散点地图的示例代码
2018/12/07 Javascript
详解Angular Karma测试的持续集成实践
2019/11/15 Javascript
vue中axios封装使用的完整教程
2021/03/03 Vue.js
[07:40]DOTA2每周TOP10 精彩击杀集锦vol.4
2014/06/25 DOTA
python实现图片批量剪切示例
2014/03/25 Python
Django中对通过测试的用户进行限制访问的方法
2015/07/23 Python
用Python写一个无界面的2048小游戏
2016/05/24 Python
Python入门_浅谈字符串的分片与索引、字符串的方法
2017/05/16 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
2019/04/11 Python
Django用户身份验证完成示例代码
2020/04/03 Python
Python应用实现处理excel数据过程解析
2020/06/19 Python
Python2及Python3如何实现兼容切换
2020/09/01 Python
详解anaconda安装步骤
2020/11/23 Python
Python wordcloud库安装方法总结
2020/12/31 Python
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
最耐用行李箱,一箱永流传:Briggs & Riley(全球终身保修)
2017/12/07 全球购物
aden + anais英国官网:美国婴儿贴身用品品牌
2019/09/08 全球购物
商场消防管理制度
2014/01/12 职场文书
给分销商的致歉信
2014/01/14 职场文书
《在大海中永生》教学反思
2014/02/24 职场文书
地下停车场租赁协议范本
2014/10/07 职场文书
2014年社区工作总结
2014/11/18 职场文书
员工自我工作评价
2015/03/06 职场文书
会议主持词通用版
2019/04/02 职场文书
Python+DeOldify实现老照片上色功能
2022/06/21 Python