发布时间:2018-03-04 16:32:17编辑:admin阅读(3358)
hashlib模块:用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
SHA512 安全性最高
SHA和MD5 是2种算法,SHA算法比md5更复杂,更安全
字典就是用hash做的
MD5(不能反解)
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
注意:
m.update(b"Hello") m.update(b"It's me")
等同于
m2.update(b"HelloIt's me")
SHA(不能反解)
import hashlib #sha1以后会被淘汰的,建议使用sha512 s2 = hashlib.sha1() s2.update(b"HelloIt's me") print(s2.hexdigest())
执行输出
4ca1ebbeaf8237d6d1650daad5ddaeca8e9a0e4c
加密中文
import hashlib s2 = hashlib.sha512() s2.update("你好,我是西门吹雪".encode(encoding="utf-8")) print(s2.hexdigest())
执行输出
ce8fd0554bbaf07b50a2787f8b6223ded649296bd007a050ffd6c0b5303ce130c6f1160bc9d5723f8808ea31ce9b95d7740d75cb96e5fd097e24c103a0aac7b7
SSL使用SHA256
python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 再进行处理然后再加密
import hmac h = hmac.new(b'1234','叶孤城'.encode(encoding="utf-8")) print(h.hexdigest())
执行输出
0bf2a3321ea64a25d3899a05f676b63c
下一篇: python re模块
47745
46237
37110
34627
29229
25886
24745
19863
19417
17909
5716°
6316°
5836°
5888°
6985°
5829°
5846°
6361°
6316°
7673°