day5-hashlib

hashlib模块

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

1. md5加密

 1 import hashlib
 2 
 3 m = hashlib.md5()
 4 # update会拼接前面字符与现在字符的MD5值组成新的MD5值
 5 m.update("Hello")
 6 m.update("It's me")
 7 # 这里是"Hello" + "It's me" 的MD5值
 8 # 2进制格式hash
 9 print(m.digest())
10 # 16进制格式hash
11 print(m.hexdigest())
12 
13 ]޴{/�Zп$�R�Br�
14 5ddeb47b2f925ad0bf249c52e342728a

2. sha加密

 1 import hashlib
 2 
 3 # 即将弃用
 4 # ######## sha1 ########
 5 hash = hashlib.sha1()
 6 hash.update('admin')
 7 print(hash.hexdigest())
 8 
 9 # ######## sha256 ########
10 hash = hashlib.sha256()
11 hash.update('admin')
12 print(hash.hexdigest())
13 
14 # ######## sha384 ########
15 hash = hashlib.sha384()
16 hash.update('admin')
17 print(hash.hexdigest())
18 
19 # ######## sha512 ########
20 hash = hashlib.sha512()
21 hash.update('admin')
22 print(hash.hexdigest())
23 
24 d033e22ae348aeb5660fc2140aec35850c4da997
25 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
26 9ca694a90285c034432c9550421b7b9dbd5c0f4b6673f05f6dbce58052ba20e4248041956ee8c9a2ec9f10290cdc0782
27 c7ad44cbad762a5da0a452f9e854fdc1e0e7a52a38015f23f3eab1d80b931dd472634dfac71cd34ebc35d16ab7fb8a90c81f975113d6c7538dc69dd8de9077ec

3. hmac模块,内部对key 和 内容 再进行处理然后再加密,一般用于网络通信中消息加密

1 import hmac
2 hash = hmac.new("name", "ww")
3 print(hash.hexdigest())
4 
5 d8656f1c79d6cdbbecdbf9e16d5903d1

 

posted @ 2017-06-18 19:24  不知所以  阅读(81)  评论(0)    收藏  举报