Python学习笔记——基础篇【第六周】——hashlib模块
生活随笔
收集整理的這篇文章主要介紹了
Python学习笔记——基础篇【第六周】——hashlib模块
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
常用模塊之hashlib模塊
用于加密相關(guān)的操作,3.x里代替了md5模塊和sha模塊,主要提供?SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
import md5 hash = md5.new() hash.update('admin') print hash.hexdigest() MD5-廢棄 import shahash = sha.new() hash.update('admin') print hash.hexdigest() sha-廢棄 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()?以上加密算法雖然依然非常厲害,但時(shí)候存在缺陷,即:通過撞庫可以反解。所以,有必要對加密算法中添加自定義key再來做加密。
import hashlib# ######## md5 ########hash = hashlib.md5('898oaFs09f') hash.update('admin') print hash.hexdigest()?還不夠吊?python 還有一個(gè) hmac 模塊,它內(nèi)部對我們創(chuàng)建 key 和 內(nèi)容 再進(jìn)行處理然后再加密
import hmac h = hmac.new('wueiqi') h.update('hellowo') print h.hexdigest()?不能再牛逼了!!!
?
1 import hashlib 2 3 m = hashlib.md5() 4 m.update(b"Hello") 5 m.update(b"It's me") 6 print(m.digest()) 7 m.update(b"It's been a long time since last time we ...") 8 9 print(m.digest()) #2進(jìn)制格式hash 10 print(len(m.hexdigest())) #16進(jìn)制格式hash 11 ''' 12 def digest(self, *args, **kwargs): # real signature unknown 13 """ Return the digest value as a string of binary data. """ 14 pass 15 16 def hexdigest(self, *args, **kwargs): # real signature unknown 17 """ Return the digest value as a string of hexadecimal digits. """ 18 pass 19 20 ''' 21 import hashlib 22 23 # ######## md5 ######## 24 25 hash = hashlib.md5() 26 hash.update('admin') 27 print(hash.hexdigest()) 28 29 # ######## sha1 ######## 30 31 hash = hashlib.sha1() 32 hash.update('admin') 33 print(hash.hexdigest()) 34 35 # ######## sha256 ######## 36 37 hash = hashlib.sha256() 38 hash.update('admin') 39 print(hash.hexdigest()) 40 41 42 # ######## sha384 ######## 43 44 hash = hashlib.sha384() 45 hash.update('admin') 46 print(hash.hexdigest()) 47 48 # ######## sha512 ######## 49 50 hash = hashlib.sha512() 51 hash.update('admin') 52 print(hash.hexdigest()) View Code更多關(guān)于md5,sha1,sha256等介紹的文章看這里https://www.tbs-certificates.co.uk/FAQ/en/sha256.html
?
轉(zhuǎn)載于:https://www.cnblogs.com/yard/p/5521182.html
總結(jié)
以上是生活随笔為你收集整理的Python学习笔记——基础篇【第六周】——hashlib模块的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业全面运营管理沙盘模拟心得_企业经营沙
- 下一篇: 2018年我国视频监控市场趋势:智能视频