日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

md5模块(Python内置模块)和hashlib模块

發(fā)布時(shí)間:2025/3/20 python 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 md5模块(Python内置模块)和hashlib模块 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
轉(zhuǎn)自https://my.oschina.net/duhaizhang/blog/67214

?

MD5模塊用于產(chǎn)生消息摘要,康用來(lái)判斷文件是否相同。

python的md5模塊使用非常簡(jiǎn)單,包括以下幾個(gè)函數(shù):

  • md5.new([arg])
    • 返回一個(gè)md5對(duì)象,如果給出參數(shù),則相當(dāng)于調(diào)用了update(arg)
    md5.md5(s)
    • 返回字符串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 ?
  • >>>?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'??
  • ?

    ?

    對(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)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。