md5模块(Python内置模块)和hashlib模块
?
MD5模塊用于產(chǎn)生消息摘要,康用來(lái)判斷文件是否相同。
python的md5模塊使用非常簡(jiǎn)單,包括以下幾個(gè)函數(shù):
- md5.new([arg])
- 返回一個(gè)md5對(duì)象,如果給出參數(shù),則相當(dāng)于調(diào)用了update(arg)
- 返回字符串s的md5
- md5.updte(arg)
- 用string參數(shù)arg更新md5對(duì)象。即將要計(jì)算arg的消息摘要值。
- md5.digest()
- 返回16字節(jié)的摘要,由傳給update的string生成,摘要沒(méi)有ascii字符
- md5.hexdigest()
- 以16進(jìn)制的形式返回摘要,32位
注意:如果m.update(a)之后在 m.update(b),那么就相當(dāng)于m.update(a+b)
?
步驟:
01、導(dǎo)入md5模塊
?
| import md5 |
02、得到一個(gè)新的md5對(duì)象
| m = md5.new() |
03、用一個(gè)字符串更新md5對(duì)象
?
| s = "hahaha" m.update(s) |
04、得到該字符串(這里是s)的摘要
| print m.degest() |
05、或者得到16進(jìn)制的摘要(這個(gè)就是我們想要的)
| print m.hexdigest() |
這會(huì)得到一個(gè)字符串,長(zhǎng)度為32位
?
要計(jì)算MD5值,不僅可以使用md5模塊,還可以使用hashlib模塊。hashlib是個(gè)專(zhuān)門(mén)提供hash算法的庫(kù),現(xiàn)在里面包括md5, sha1, sha224, sha256, sha384, sha512,使用非常簡(jiǎn)單、方便。md5經(jīng)常用來(lái)做用戶(hù)密碼的存儲(chǔ)。而sha1則經(jīng)常用作數(shù)字簽名。
?
?
下面主要記錄下其中的md5加密方式
[python]? view plain copy print ??
?
對(duì)以上代碼的說(shuō)明:
1.首先從python直接導(dǎo)入hashlib模塊
2.調(diào)用hashlib里的md5()生成一個(gè)md5 hash對(duì)象
3.生成hash對(duì)象后,就可以用update方法對(duì)字符串進(jìn)行md5加密的更新處理
4.繼續(xù)調(diào)用update方法會(huì)在前面加密的基礎(chǔ)上更新加密
5.加密后的二進(jìn)制結(jié)果
6.十六進(jìn)制結(jié)果
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/WangAoBo/p/6921865.html
總結(jié)
以上是生活随笔為你收集整理的md5模块(Python内置模块)和hashlib模块的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Git中.gitignore文件的使用
- 下一篇: ES6学习心得