md5模块(Python内置模块)和hashlib模块
生活随笔
收集整理的這篇文章主要介紹了
md5模块(Python内置模块)和hashlib模块
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉自https://my.oschina.net/duhaizhang/blog/67214
要計算MD5值,不僅可以使用md5模塊,還可以使用hashlib模塊。hashlib是個專門提供hash算法的庫,現在里面包括md5, sha1, sha224, sha256, sha384, sha512,使用非常簡單、方便。md5經常用來做用戶密碼的存儲。而sha1則經常用作數字簽名。>>>?import?hashlib?? ?? >>>?m?=?hashlib.md5()?? ?? >>>?m.update("Nobody?inspects")?? ?? >>>?m.update("?the?spammish?repetition")?? ?? >>>?m.digest()?? ?? '\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'?? ?? >>>?m.hexdigest()?? ?? 'bb649c83dd1ea5c9d9dec9a18df0ffe9'??
?
MD5模塊用于產生消息摘要,康用來判斷文件是否相同。
python的md5模塊使用非常簡單,包括以下幾個函數:
- md5.new([arg])
- 返回一個md5對象,如果給出參數,則相當于調用了update(arg)
- 返回字符串s的md5
- md5.updte(arg)
- 用string參數arg更新md5對象。即將要計算arg的消息摘要值。
- md5.digest()
- 返回16字節的摘要,由傳給update的string生成,摘要沒有ascii字符
- md5.hexdigest()
- 以16進制的形式返回摘要,32位
注意:如果m.update(a)之后在 m.update(b),那么就相當于m.update(a+b)
?
步驟:
01、導入md5模塊
?
| import md5 |
02、得到一個新的md5對象
| m = md5.new() |
03、用一個字符串更新md5對象
?
| s = "hahaha" m.update(s) |
04、得到該字符串(這里是s)的摘要
| print m.degest() |
05、或者得到16進制的摘要(這個就是我們想要的)
| print m.hexdigest() |
這會得到一個字符串,長度為32位
?
要計算MD5值,不僅可以使用md5模塊,還可以使用hashlib模塊。hashlib是個專門提供hash算法的庫,現在里面包括md5, sha1, sha224, sha256, sha384, sha512,使用非常簡單、方便。md5經常用來做用戶密碼的存儲。而sha1則經常用作數字簽名。
?
?
下面主要記錄下其中的md5加密方式
[python]? view plain copy print ??
?
對以上代碼的說明:
1.首先從python直接導入hashlib模塊
2.調用hashlib里的md5()生成一個md5 hash對象
3.生成hash對象后,就可以用update方法對字符串進行md5加密的更新處理
4.繼續調用update方法會在前面加密的基礎上更新加密
5.加密后的二進制結果
6.十六進制結果
?
?
轉載于:https://www.cnblogs.com/WangAoBo/p/6921865.html
總結
以上是生活随笔為你收集整理的md5模块(Python内置模块)和hashlib模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Git中.gitignore文件的使用
- 下一篇: (二)Python 学习第二天--爬50