您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Python中怎么使用hashlib加密解密模塊,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于確保信息傳輸完整一致。是計算機廣泛使用的雜湊算法之一(又譯摘要算法、哈希算法),主流編程語言普遍已有MD5實現。將數據(如漢字)運算為另一固定長度值,是雜湊算法的基礎原理,MD5的前身有MD2、MD3和MD4。
MD5算法具有以下特點:
1、壓縮性:任意長度的數據,算出的MD5值長度都是固定的。
2、容易計算:從原數據計算出MD5值很容易。
3、抗修改性:對原數據進行任何改動,哪怕只修改1個字節,所得到的MD5值都有很大區別。
4、強抗碰撞:已知原數據和其MD5值,想找到一個具有相同MD5值的數據(即偽造數據)是非常困難的。
MD5的作用是讓大容量信息在用數字簽名軟件簽署私人密鑰前被"壓縮"成一種保密的格式(就是把一個任意長度的字節串變換成一定長的十六進制數字串)。MD5是最常見的摘要算法,速度很快,生成結果是固定的128 bit字節,通常用一個32位的16進制字符串表示。
import hashlib string='任性的90后boy' md5 = hashlib.md5() md5.update(string.encode('utf-8'))#轉碼,update里的必須是字節型 res = md5.hexdigest() #返回字符型摘要信息 print(md5.digest())#返回字節型的摘要信息 print("md5加密結果:",res)
安全散列算法,SHA1的結果是160 bit字節,通常用一個40位的16進制字符串表示
import hashlib string='任性的90后boy' sha1 = hashlib.sha1() sha1.update(string.encode('utf-8')) res = sha1.hexdigest() print("sha1加密結果:",res)
安全散列算法
import hashlib string='任性的90后boy' sha224 = hashlib.sha224() sha224.update(string.encode('utf-8')) res = sha224.hexdigest() print("sha224加密結果:",res)
安全散列算法
import hashlib string='任性的90后boy' sha256 = hashlib.sha256() sha256.update(string.encode('utf-8')) res = sha256.hexdigest() print("sha256加密結果:",res)
安全散列算法
import hashlib string='任性的90后boy' sha384 = hashlib.sha384() sha384.update(string.encode('utf-8')) res = sha384.hexdigest() print("sha384加密結果:",res)
安全散列算法
import hashlib string='任性的90后boy' sha512= hashlib.sha512() sha512.update(string.encode('utf-8')) res = sha512.hexdigest() print("sha512加密結果:",res)
以上加密算法雖然依然非常厲害,但時候存在缺陷,即:通過撞庫可以反解。所以,有必要對加密算法中添加自定義key再來做加密。
md5 = hashlib.md5() md5.update('md5'.encode('utf-8')) res = md5.hexdigest() print("普通加密:",res) md51 = hashlib.md5(b'md512') md51.update('md51'.encode('utf-8')) res = md51.hexdigest() print("采用key加密:",res)
看完上述內容,你們對Python中怎么使用hashlib加密解密模塊有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。