基于hashlib模块--加密(详解)

发布时间 - 2026-01-11 01:59:06    点击率:

用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法

import hashlib
 
m = hashlib.md5()
m.update(b"hello")
print(m.hexdigest())
m.update(b"It's me")
print(m.hexdigest())
m.update(b"It's been a long time since we spoken.")
print(m.hexdigest())
 
m2 = hashlib.md5()
m2.update(b"helloIt's me")
print(m2.hexdigest())
 
# 输出
5d41402abc4b2a76b9719d911017c592
64f69d95135bc13d4827f871b37f780f
0c9a83e10aa2f9e9629be61146db9cc2
64f69d95135bc13d4827f871b37f780f
 
#第二个和第四个 md5值是相同的,所以第二个加密的是 helloIt'sme<br><code class="python comments"><br></code>

print(m.digest()) #2进制格式hash

print(len(m.hexdigest())) #16进制格式hash

# ######## 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("天王盖地虎".encode(encoding="utf-8"), "你是小松鼠".encode(encoding="utf-8"))
print(h.digest())
print(h.hexdigest())
 
#输出
b'fx\xad\xdd\x9e\xd6\xddcQN\x82c\xcd\xd9\x80-'
6678addd9ed6dd63514e8263cdd9802d

以上这篇基于hashlib模块--加密(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# hashlib模块  # python中的hashlib和base64加密模块使用实例  # Python中使用hashlib模块处理算法的教程  # Python的加密模块md5、sha、crypt使用实例  # 第二个  # 给大家  # 的是  # 是一种  # 你是  # 就像  # 就能  # 希望能  # 还有一个  # 然后再  # 这篇  # 再加  # 小编  # 大家多多  # 网络通信  # 小松鼠  # 代替了  # helloIt  # time  # sha 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Python正则表达式进阶教程_复杂匹配与分组替换解析  高端云建站费用究竟需要多少预算?  html5的keygen标签为什么废弃_替代方案说明【解答】  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  如何确认建站备案号应放置的具体位置?  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  魔毅自助建站系统:模板定制与SEO优化一键生成指南  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  如何在万网自助建站平台快速创建网站?  深入理解Android中的xmlns:tools属性  Laravel PHP版本要求一览_Laravel各版本环境要求对照  java中使用zxing批量生成二维码立牌  Laravel如何实现事件和监听器?(Event & Listener实战)  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  黑客如何通过漏洞一步步攻陷网站服务器?  实例解析Array和String方法  Python函数文档自动校验_规范解析【教程】  中国移动官方网站首页入口 中国移动官网网页登录  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  如何快速搭建高效WAP手机网站?  开心动漫网站制作软件下载,十分开心动画为何停播?  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  如何快速搭建高效WAP手机网站吸引移动用户?  免费网站制作appp,免费制作app哪个平台好?  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  Java解压缩zip - 解压缩多个文件或文件夹实例  Laravel如何实现多对多模型关联?(Eloquent教程)  JavaScript如何实现继承_有哪些常用方法  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  北京网站制作公司哪家好一点,北京租房网站有哪些?  用v-html解决Vue.js渲染中html标签不被解析的问题  Laravel如何实现用户密码重置功能?(完整流程代码)  JavaScript实现Fly Bird小游戏  大同网页,大同瑞慈医院官网?  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  如何在IIS7上新建站点并设置安全权限?  C语言设计一个闪闪的圣诞树  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  EditPlus中的正则表达式实战(5)  如何获取上海专业网站定制建站电话?