hashlib模块

简介: hashlib模块

hashlib是个专门提供hash算法的库,其支持openssl 库提供的所有算法,包括md5, sha1, sha224, sha256, sha384, sha512,使用非常简单、方便。md5经常用来做用户密码的存储。而sha1则经常用作数字签名


他们的使用模式都是一样的,所以我这里只介绍md5的加解密

  • 使用hashlib.md5()可以创建一个md5对象 ( 也可以使用hashlib.new(‘md5’[, data]) )
import hashlib
text = "halib真好用!"
m = hashlib.new("md5", text.encode('gbk'))
print(m.hexdigest()) # c6380f31122e5b9ccf60421e3c79b589

使用MD5对象.uptate(data)可以添加加密的文本(该文本需要经过编码,企且编码不同可能会造成得到hash值不同),注意多次使用uptate()表示将data叠加,而不是覆盖,比如:m.uptate(a)和m.uptate(b) 等价于 m.update(a+b)

import hashlib
text1 = "hashlib"
text2 = "真好用!"
m = hashlib.md5()
m.update(text1.encode('utf-8'))
m.update(text2.encode('utf-8'))
print(m.hexdigest()) # c6380f31122e5b9ccf60421e3c79b589
  • 使用md5对象.hexdigest()得到hash值
import hashlib
text = "hashlib真好用!"
m = hashlib.md5()
m.update(text.encode('utf-8'))
print(m.hexdigest()) # c6380f31122e5b9ccf60421e3c79b589

加盐:额外给原始数据添加一点自定义的数据,使得生成的消息摘要不同于普通方式计算的摘要。

比如我下面给密码字符串“password”加上字符串“salt”,这里的“salt”字符串就是所谓的盐,其摘要值必然不等于正常摘要“password”字符串的值。当然这个“salt”具体是什么,完全可以自定义,而且不能告诉他人!千万不要以为加盐就是加个“salt”字符串。

import hashlib.md5
md5 = hashlib.md5()
s = "我是明文" + "我是盐"
md5.update(s.encode('utf-8'))
print(md5.hexdigest()) # 'b305cadbb3bce54f3aa59c64fec00dea'

sha1的使用 (用法都一样)

import hashlib
text2 = "我在使用sha1加密"
print(hashlib.new('sha1', text2.encode("utf-8")).hexdigest()) # fe797d7f4aaf1640781f8ba85e216d11e1db09bd
k = hashlib.sha1()
k.update(text2.encode("utf-8"))
print(k.hexdigest()) # fe797d7f4aaf1640781f8ba85e216d11e1db09bd


目录
相关文章
|
数据安全/隐私保护 Python
Python hashlib 加密方法(MD5、SHA1、SHA256、SHA52)
Python hashlib 加密方法(MD5、SHA1、SHA256、SHA52)
348 0
|
1月前
|
算法 安全 数据安全/隐私保护
hashlib和hmac模块的应用
hashlib和hmac模块的应用
|
5月前
|
存储 算法 安全
Python hashlib 模块
Python hashlib 模块
|
4月前
|
存储 算法 安全
我们来看一个简单的Python代码示例,它使用`hashlib`模块中的`md5()`和`sha256()`函数来计算字符串的哈希值。
我们来看一个简单的Python代码示例,它使用`hashlib`模块中的`md5()`和`sha256()`函数来计算字符串的哈希值。
|
6月前
|
存储 算法 安全
Python的hashlib模块:7种加密算法深入剖析
Python的hashlib模块:7种加密算法深入剖析
384 0
|
存储 算法 安全
hashlib模块
hashlib模块
74 0
|
算法 数据安全/隐私保护
python-- hashlib 模块
python-- hashlib 模块
|
算法 API 数据安全/隐私保护
hashlib库:Python的加密算法实践
hashlib库:Python的加密算法实践
127 0
hashlib库:Python的加密算法实践
|
算法 安全 数据安全/隐私保护
Hashlib 和 hmac 模块 | 学习笔记
快速学习 Hashlib 和 hmac 模块
Hashlib 和 hmac 模块 | 学习笔记