python中的hashlib只能用于防止篡改,不能用于加密。哈希算法是把任意长度的数据转换成一个固定长度的数据串(通常是16进制表示),是一个单向函数,反推很困难。常见于网站上登录名和密码的非明文存储以及登录验证。
常见的有MD5和sha1算法,MD5是32位16进制字符串表示,而SHA1是40位16进制字符串表示。
1.md5
import hashlib
m=hashlib.md5()
m.update("hello world".encode("utf-8"))
#对字符串进行计算
print(m.hexdigest())
#返回16进制摘要,输出结果为32位16进制字符串5eb63bbbe01eeed093cb22bb8f5acdc3
2.SHA1
import hashlib
sha=hashlib.sha1()
sha.update("hello world".encode("utf-8"))
print(sha.hexdigest)
#输出为40位16进制字符串2aae6c35c94fcfb415dbe95f408b9ce91ee846ed
当然存在其他算法比sha1更安全,不过越安全速度也就越慢,生成的字符串越长。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved