1、python 中加密算法包括:md5、sha512、sha256、base64、aes……我們今天說下其中的兩種:md5和sha512
2、md5的使用
MD5 是一種單向加密技術(不可解密)。MD5加密算法簡單高效且算出的值長度都是固定的, MD5值具有強抗碰撞,對原文件哪怕只修改一個字符,所計算出的MD5值也會發生很大變化。基於這些特性,MD5在數據校驗上發揮有很大作用。
import hashlib #導入hashlib模塊 password='123456' #定義一個字符串 hashlib.md5(password.encode())# encode 方法,轉成字符串 m=hashlib.md5(password.encode()) print(m.hexdigest())#打印出來
打印結果
e10adc3949ba59abbe56e057f20f883e
3、sha512的使用
sha512和sha256……等等這種形式的使用方法都是一模一樣的,區別只是返回值長度不一樣
import hashlib #導入hashlib模塊 password='123456' #定義一個字符串 m=hashlib.sha3_512(password.encode()) def md5(string,salt=""): new = str(string) + str(salt) m = hashlib.md5(new.encode()) return m.hexdigest() print(m.hexdigest())#打印出來
打印結果
64d09d9930c8ecf79e513167a588cb75439b762ce8f9b22ea59765f32aa74ca19d2f1e97dc922a3d4954594a05062917fb24d1f8e72f2ed02a58ed7534f94d27
4、下面我們說一下加鹽和加密的輸出方法
- 加鹽:加密后,后面加一些固定的的字符&*()*&……%
- 說下加密后不同的返回值
- hash.digest()返回摘要,作為二進制數據字符串值
- hash.hexdigest()返回摘要,作為十六進制數據字符串值