国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MD5算法:利用python進(jìn)行md5 hash值的獲取

這篇具有很好參考價值的文章主要介紹了MD5算法:利用python進(jìn)行md5 hash值的獲取。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

MD5基本概念

MD5,即信息摘要算法,英文為MD5 Message-Digest Algorithm,是一種被廣泛使用的密碼散列函數(shù),可以產(chǎn)生出一個128位(16字節(jié))的散列值(hash value),也叫散列值,用于確保信息傳輸完整一致。
它可以從一個字符串或一個文件中按照一定的規(guī)則生成一個特殊的字符串,這個特殊的字符串就被稱之為摘要。

MD5的作用

通常用于校驗一組數(shù)據(jù)是否被篡改。例如,校驗一個文件是否被篡改。

MD5特點及現(xiàn)狀:

1)、hash值長度固定。它是一段固定長度的數(shù)據(jù),即16個字節(jié)(128bit)。無論原始數(shù)據(jù)是多長或多短,其MD5值都是128bit。

2)、通常,計算出來的md5值包含0~9和大小寫字母a ~ f, 以及A ~ F的32位可見字符。即將128bit的數(shù)據(jù)打印輸出時,是一個32位的字符串。(因為直接輸出16bytes的數(shù)據(jù),是亂碼,不可見)。

3)、hash值的確定性,一個原始數(shù)據(jù)的MD5值是唯一的,同一個原始數(shù)據(jù)不可能會計算出多個不同的MD5值。

4)、碰撞性,原始數(shù)據(jù)與其MD5值并不是一一對應(yīng)的,有可能多個原始數(shù)據(jù)計算出來的MD5值是一樣的,這就是碰撞。

5)、不可逆。即由已知的MD5值,無法還原出它的原始數(shù)據(jù)的。當(dāng)然,很多網(wǎng)站可以查詢md5的原始數(shù)據(jù),是因為事先已經(jīng)保存了數(shù)以萬計的原始數(shù)據(jù)以及它的hash值,我們查詢時,只是進(jìn)行已知數(shù)據(jù)的查詢匹配。

由于hash算法是不可逆的, 所以不存在解密的邏輯。

6)、不安全。由于md5無法防止碰撞(collision),因此不適用于安全性認(rèn)證,如SSL公開密鑰認(rèn)證或是數(shù)字簽名等用途。

7)、我國著名教授王小云已經(jīng)破解了包括MD5、SHA-1在內(nèi)的5個國際通用哈希函數(shù)算法。

MD5值的獲取:

很多平臺自帶md5值的獲取,例如,可以用下面的命令計算一個文件的md5值:

% md5 urlinfo.json 
MD5 (urlinfo.json) = e58b910fda6a2aed3d00fde20a28c0a7

MD5值的獲?。簆ython代碼:

1、 不加鹽(salt)的md5值

利用python獲取md5值的代碼如下:

from hashlib import md5

obj = md5()
obj.update("hello python!!!".encode("utf-8"))

bs = obj.hexdigest()
print(bs)

運行結(jié)果:

% python3 md5_test.py
ffd986dc69195bd6c1397a76e0df6cc4

用在線網(wǎng)站進(jìn)行md5值的獲?。?br>MD5算法:利用python進(jìn)行md5 hash值的獲取
可以看到,和我們用python算出的結(jié)果一樣。

2、 加鹽(salt)的md5值

from hashlib import md5
salt = "aabbccddeeff"
obj = md5(salt.encode("utf-8"))  # 加鹽
obj.update("hello python!!!".encode("utf-8"))

bs = obj.hexdigest()
print(bs)

運行結(jié)果:

% python3 md5_test.py
355d1341087e44f53551293193fd706c

3、 擴展sha256的md5值

from hashlib import sha1, sha256
sha = sha256(b'salt')
sha.update(b'hello python!!!')
print(sha.hexdigest())

運行結(jié)果:

python3 md5_test.py
24d50be77cb3d092520041983964d9f5daa8962c19f4fb6318bd2764406aab64

說明:不論是sha1, sha256, md5都屬于摘要算法.,都是在計算hash值(散列值),只是散列的程度不同而已。文章來源地址http://www.zghlxwxcb.cn/news/detail-466775.html

到了這里,關(guān)于MD5算法:利用python進(jìn)行md5 hash值的獲取的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 用git bash調(diào)用md5sum進(jìn)行批量MD5計算

    用git bash調(diào)用md5sum進(jìn)行批量MD5計算

    對于非常大的文件或者很重要的文件,在不穩(wěn)定的網(wǎng)絡(luò)環(huán)境下,可能文件的某些字節(jié)會損壞。此時,對文件計算MD5即可以校驗其完整性。比如本次的 OpenStreetMap 導(dǎo)出包,我的學(xué)弟反饋說,有朋友通過網(wǎng)盤下載無法解壓,并建議我增加每個文件的MD5校驗。 對于文件非常多的情況

    2024年01月24日
    瀏覽(33)
  • 哈希算法--MD5算法

    哈希算法--MD5算法

    哈希算法也稱摘要算法、散列算法,哈希函數(shù)的輸入為一段 可變長度x ,輸出一 固定長度串 ,該串被稱為 x的哈希值 。 Hash函數(shù)滿足以下幾個基本需求: (1)輸入值x為任意長度 (2)輸出值長度固定 (3)單向函數(shù),算法不可逆 (4)唯一性,很難找到兩個不同的輸入會得到

    2023年04月18日
    瀏覽(34)
  • MD5 算法

    MD5(Message Digest Algorithm 5)是消息摘要算法的一種,它可以將任意長度的“消息”(也可以是文件)計算出一個固定長度的“摘要”,通常是128位。MD5廣泛應(yīng)用于數(shù)字簽名、數(shù)據(jù)完整性校驗、密碼存儲等領(lǐng)域。在Java中,可以使用java.security.MessageDigest類來實現(xiàn)MD5算法。 MD5算法的流

    2024年02月05日
    瀏覽(24)
  • MD5算法

    MD5算法

    一、引言 MD5(Message-Digest Algorithm 5)是一種廣泛應(yīng)用的密碼散列算法,由Ronald L. Rivest于1991年提出。MD5算法主要用于對任意長度的消息進(jìn)行加密,將消息壓縮成固定長度的摘要(通常為128位)。在密碼學(xué)、網(wǎng)絡(luò)安全等領(lǐng)域有著廣泛的應(yīng)用。本文將從算法原理、優(yōu)缺點及替代方

    2024年02月04日
    瀏覽(23)
  • 為什么MD5算法不可逆,但網(wǎng)上有很多網(wǎng)站聲稱能夠解密MD5

    為什么MD5算法不可逆,但網(wǎng)上有很多網(wǎng)站聲稱能夠解密MD5

    我們要明白,MD5不是加密算法,而是一種信息摘要算法,主要用于保證數(shù)據(jù)的完整性,以及數(shù)據(jù)不被篡改。既然不是加密算法,那么就不存在解密的說法,但是為什么網(wǎng)上有很多網(wǎng)站聲稱能夠解密MD5呢? MD5算法不可逆 Md5是計算機安全領(lǐng)取常用的一種密碼散列函數(shù),主要用于

    2024年02月11日
    瀏覽(29)
  • vue3利用spark-md5計算文件的md5值

    先要安裝spark-md5包: import SparkMD5 from ‘spark-md5’ 看官網(wǎng):https://github.com/search?q=spark-md5 對于小文件來說通常直接讀取其文本文件(字符串),計算其md5。 對于大文件,如果直接readAsText讀取,速度則會非常慢,甚至瀏覽器崩潰,遂利用readAsArrayBuffer(file)讀取其二進(jìn)制來計算m

    2024年02月16日
    瀏覽(18)
  • postman 請求參數(shù)進(jìn)行md5加密

    1.在代碼片段中,使用 JavaScript 將需要加密的參數(shù)拼接成一個字符串,例如 2.安裝 CryptoJS 庫。在 Postman 的 \\\"Pre-request Script\\\" 或 \\\"Tests\\\" 中,使用以下命令安裝 CryptoJS: 3.在代碼片段中,使用 CryptoJS 對拼接后的字符串進(jìn)行 MD5 加密,轉(zhuǎn)化為小寫字符串,賦值給請求變量。例如:

    2024年02月05日
    瀏覽(26)
  • 算法基礎(chǔ)--MD5算法介紹

    算法基礎(chǔ)--MD5算法介紹

    ??MD5再開發(fā)過程中經(jīng)常碰到的一種算法,因此感覺有必要對其原理進(jìn)行更深入的了解一下。 ??散列函數(shù),也稱作哈希函數(shù),消息摘要函數(shù),單向函數(shù)或者雜湊函數(shù)。散列函數(shù)主要用于驗證數(shù)據(jù)的完整性。通過散列函數(shù),可以創(chuàng)建消息的“數(shù)字指紋”,消息接收方可以通過

    2024年02月08日
    瀏覽(22)
  • 在前端對登錄密碼進(jìn)行加密,md5+鹽值

    在前端對登錄密碼進(jìn)行加密,md5+鹽值

    場景:前端制定規(guī)則賬號密碼,后端不進(jìn)行參與,完全就是前端進(jìn)行校驗 缺點:對于現(xiàn)在網(wǎng)絡(luò)發(fā)達(dá)的時代,大部分人隨便攻擊你的網(wǎng)站就可以看到你的賬號密碼這樣就可以輕松進(jìn)入你的網(wǎng)站、不安全。 優(yōu)點:基本沒有,除非就是臨時搭建 不需要后端 當(dāng)然這是我開發(fā)時候的場

    2024年02月09日
    瀏覽(92)
  • java 使用hutool工具進(jìn)行MD5加密

    引入依賴 MD5加密

    2024年02月16日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包