亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

盤點Python加密解密模塊hashlib的7種加密算法(推薦)

瀏覽:135日期:2022-06-22 14:09:36
前言

在程序中我們經常可以看到有很多的加密算法,比如說MD5 sha1等,今天我們就來了解下這下加密算法的吧,在了解之前我們需要知道一個模塊嘛就是hashlib,他就是目前Python一個提供字符加密的模塊,它加密的字符類型為二進制編碼,所以直接加密字符串會報錯。

import hashlib string=’任性的90后boy’ #使用encode進行轉換 sha1 = hashlib.sha1() sha1.update(string.encode(’utf-8’)) res = sha1.hexdigest() print('sha1采用encode轉換加密結果:',res) #使用byte轉換為二進制 sha1 = hashlib.sha1() sha1.update(bytes(string,encoding=’utf-8’)) res = sha1.hexdigest() print('sha1采用byte轉換的結果:',res)

可以使用下列這兩種方法任意一種獲取到hashlib中所有的散列算法集合:

import hashlib a=hashlib.algorithms_available b=hashlib.algorithms_guaranteed print(a) print(b)

下面我們挑選常用的集中算法來進行講解。

一、MD5

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

安全散列算法,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)三、sha224

安全散列算法

import hashlib string=’任性的90后boy’ sha224 = hashlib.sha224() sha224.update(string.encode(’utf-8’)) res = sha224.hexdigest() print('sha224加密結果:',res)四、sha256

安全散列算法

import hashlib string=’任性的90后boy’ sha256 = hashlib.sha256() sha256.update(string.encode(’utf-8’)) res = sha256.hexdigest() print('sha256加密結果:',res)五、sha384

安全散列算法

import hashlib string=’任性的90后boy’ sha384 = hashlib.sha384() sha384.update(string.encode(’utf-8’)) res = sha384.hexdigest() print('sha384加密結果:',res)六、sha512

安全散列算法

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)總結

好了,今天就跟大家說這么多,主要給大家介紹了md5、sha1、sha224、sha256、sha384、sha512和高級加密等集中算法,簡單介紹了每個算法的特點和使用方法,后續精彩敬請期待!

到此這篇關于盤點Python加密解密模塊hashlib的7種加密算法的文章就介紹到這了,更多相關Python hashlib加密解密模塊內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 性欧美一级 | 精品一区二区三区免费爱 | 玖玖玖视频在线观看视频6 玖玖影院在线观看 | 久久国产欧美日韩精品免费 | 色综合久久88色综合天天提莫 | 美国毛片视频 | 92精品国产自产在线观看 | 国产免费一区二区三区在线 | 国产精品久久久久a影院 | 免费五级在线观看日本片 | 亚洲欧美日韩国产制服另类 | 日本一区深夜影院深a | 国产成人综合95精品视频免费 | 婷婷丁香花麻豆 | 欧美成人在线网站 | 亚洲欧美日韩国产专区一区 | 欧美日韩一区二区在线观看视频 | 亚洲国产天堂久久综合图区 | 久草在线视频免费资源观看 | 精品国产香蕉在线播出 | 免费视频观看在线www日本 | 亚洲综合黄色 | 精品久久久久久无码中文字幕 | 92精品国产成人观看免费 | 久久受www免费人成看片 | 久草首页在线观看 | 韩国一级淫片视频免费播放 | 成 人 动漫在线观看网站网站 | 国产手机在线视频放线视频 | 夜夜春夜夜夜夜猛噜噜噜噜噜 | 美美女下面被cao爽 美女131爽爽爽做爰中文视频 | 男女在线观看视频 | 精品午夜久久网成年网 | 精品国产日韩久久亚洲 | 九九热精| 一区二区网站在线观看 | 免费观看一级欧美在线视频 | 毛片在线视频观看 | 青青久草| 久久91精品国产91久久户 | 小屁孩cao大人免费网站 |