前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python hashlib模块

python hashlib模块

作者头像
py3study
发布2018-08-02 16:06:18
3240
发布2018-08-02 16:06:18
举报
文章被收录于专栏:python3python3

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

SHA512 安全性最高

SHA和MD5 是2种算法,SHA算法比md5更复杂,更安全

字典就是用hash做的

MD5(不能反解)

代码语言:javascript
复制
import hashlib
#声明一个对象
m = hashlib.md5()
#增加一条二进制数据
m.update(b"Hello")
#16进制格式hash
print(m.hexdigest())
#拼接字符串
m.update(b"It's me")
print(m.hexdigest())

m2= hashlib.md5()
m2.update(b"HelloIt's me")
print(m2.hexdigest())

执行输出

8b1a9953c4611296a827abf8c47804d7

5ddeb47b2f925ad0bf249c52e342728a

5ddeb47b2f925ad0bf249c52e342728a

注意:

代码语言:javascript
复制
m.update(b"Hello")
m.update(b"It's me")

等同于

代码语言:javascript
复制
m2.update(b"HelloIt's me")

SHA(不能反解)

代码语言:javascript
复制
import hashlib
#sha1以后会被淘汰的,建议使用sha512
s2 = hashlib.sha1()
s2.update(b"HelloIt's me")
print(s2.hexdigest())

执行输出

4ca1ebbeaf8237d6d1650daad5ddaeca8e9a0e4c

加密中文

代码语言:javascript
复制
import hashlib
s2 = hashlib.sha512()
s2.update("你好,我是西门吹雪".encode(encoding="utf-8"))
print(s2.hexdigest())

执行输出

ce8fd0554bbaf07b50a2787f8b6223ded649296bd007a050ffd6c0b5303ce130c6f1160bc9d5723f8808ea31ce9b95d7740d75cb96e5fd097e24c103a0aac7b7

SSL使用SHA256

python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 再进行处理然后再加密

代码语言:javascript
复制
import hmac
h = hmac.new(b'1234','叶孤城'.encode(encoding="utf-8"))
print(h.hexdigest())

执行输出

0bf2a3321ea64a25d3899a05f676b63c

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-03-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档