标签:enc 3.x int pre strong class sha hello encode
hashlib模块 |
一.hashlib模块
用于加密相关的操作,3.x力代替了md5模块和sha模块,主要提供
:SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法。
1.使用hashlib模块进行MD5加密。
import hashlib m = hashlib.md5() m.update(b"Hello") m.update(b"It‘s me") print(m.hexdigest()) m.update(b"It‘s been a long time since last time we ...") print(m.digest())
注:hashlib.md5():创建一个md5加密参数。
注:变量.hexdigest():十六进制加密。
注:变量.digest():二进制加密
注:总共有32个值。
2.使用SHA1算法加密。
import hashlib s2 = hashlib.sha1() s2.update(b"abc") print(s2.hexdigest())
注:总共有38个值。
3.使用SHA256算法加密
s2 = hashlib.sha256() s2.update(b"abc") print(s2.hexdigest()) print(len(s2.hexdigest()))
注:有64个加密数值。
4.使用SHA384算法加密。
import hashlib s2 = hashlib.sha384() s2.update(b"abc") print(s2.hexdigest()) print(len(s2.hexdigest()))
注:有96个加密数值。
5.使用SHA512算法加密。
import hashlib s2 = hashlib.sha512() s2.update(b"abc") print(s2.hexdigest()) print(len(s2.hexdigest()))
注:有128个加密数值。
二.加密算法进阶
import hmac h = hmac.new(‘wueiqi‘) h.update(‘hellowo‘) print h.hexdigest()
注:相当于加密后又进行一层加密。双层加密。
import hmac h = hmac.new(b"xsk","y风的风x".encode(encoding="utf-8")) print(h.digest()) print(h.hexdigest())
注:双层加密。
注:加入中文key需要,转换字符类型。
标签:enc 3.x int pre strong class sha hello encode
原文地址:http://www.cnblogs.com/xiangsikai/p/7787126.html