盘点Python加密解密模块hashlib的7种加密算法(推荐)
Python中的hashlib模块提供了多种加密算法,包括MD5、SHA1、SHA224、SHA256、SHA384、SHA512和blake系列。本攻略将介绍这7种加密算法的用法和示例。
MD5加密算法
MD5是一种常用的哈希函数,用于将任意长度的消息压缩成一个128位的消息摘要。以下是使用MD5加密算法的示例代码:
import hashlib
message = "Hello, world!".encode()
md5 = hashlib.md5()
md5.update(message)
print("MD5:", md5.hexdigest())
在个示例中,我们首先将字符串”Hello, world!”编码为字节串,然后使用md5
方法创建一个MD5对象。接着,我们使用update
方法将消息传递给MD5对象。最后,我们使用hexdigest
方法获取MD5值的十六进制表示。
SHA1加密算法
SHA1是一种安全哈希函数,用于将任意长度的消息压缩成一个160位的消息摘要。以下是使用SHA1加密算法的示例代码:
import hashlib
message = "Hello, world!".encode()
sha1 = hashlib.sha1()
sha1.update(message)
print("SHA1:", sha1.hexdigest())
在这个示例中,我们首先将字符串”Hello, world!”编码为字节串,然后使用sha1
方法创建一个SHA1对象。接着,我们使用update
方法将消息传递给SHA1对象。最后,我们使用hexdigest
方法获取SHA1值的十六进制表示。
SHA224加密算法
SHA224是一种安全哈希函数,用于将任意长度的消息压缩成一个224位的消息摘要。以下是使用SHA224加密算法的示例代码:
import hashlib
message = "Hello, world!".encode()
sha224 = hashlib.sha224()
sha224.update(message)
print("SHA224:", sha224.hexdigest())
在这个示例中,我们首先将字符串”Hello, world!”编码为字节串,然后使用sha224
方法创建一个SHA224对象。接着,我们使用update
方法将消息传递给SHA224对象。最后,我们使用hexdigest
方法获取SHA224值的十六进制表示。
SHA256加密算法
SHA256是一种安全哈希函数,用于将任意长度的消息缩成一个256位的消息摘要。以下是使用SHA256加密算法的示例代码:
import hashlib
message = "Hello, world!".encode()
sha256 = hashlib.sha256()
sha256.update(message)
print("SHA256:", sha256.hexdigest())
在这个示例中,我们首先将字符串”Hello, world!”编码为字节串,然后使用sha256
方法创建一个SHA256对象。接着,我们使用update
方法将消息传递给256对象。最后,我们使用hexdigest
方法获取SHA256值的十六进制。
SHA384加密算法
SHA384是一种安全哈希函数,用于将任意长度的消息压缩成一个384位的消息摘要。以下是使用SHA384加密算法示例代码:
import hashlib
message = "Hello, world!".encode()
sha384 = hashlib.sha384()
sha384.update(message)
print("SHA384:", sha384.hexdigest())
在这个示例中,我们首先将字符串”Hello, world!”编码为字节串,后使用sha384
方法创建一个SHA384对象。接着,我们使用update
方法将消息传递给SHA384对象。最后,我们使用hexdigest
方法获取SHA384值的十六进制表示。
SHA512加密算法
SHA512是一种全哈希函数,用于将任意长度的消息压缩成一个512位的消息摘要。以下是使用SHA512加密算法的示例代码:
import hashlib
message = "Hello, world!".encode()
sha512 = hashlib.sha512()
sha512.update(message)
print("SHA512:", sha512.hexdigest())
在这个示例中,我们首先将字符串”Hello, world!”编码为字节串,然后使用sha512
方法创建一个SHA512对象。接着,我们使用update
方法将消息传递给SHA512对象。最后,我们使用hexdigest
方法获取SHA512值的十六进制表示。
ake2系列加密算法
blake2系列是一组安全哈希函数,包括blake2b和blake2s两种算法。blake2b用于将任意长度的消息压缩成一个512位的消息摘要,而blake2s用于将任长度的消息压缩成一个256位的消息摘要。以下是使用blake2系列加密算法的例代码:
import hashlib
= "Hello, world!".encode()
blake2b = hashlib.blake2b()
blake2b.update(message)
print("blake2b:", blake2b.hexdigest())
blake2s = hashlib.blake2s()
blake2.update(message)
print("blake2s:", blake2s.hexdigest())
在这个示例中,我们首先将字符串”Hello, world!”编码为字节串,然后使用blake2b
方法创建一个blake2b对象。接着,使用update
方法将消息传递给blake2b对象。最后,我们使用hexdigest
方法获取blake2b值的十六进制表示。同样的,我们使用blake2s
方法创建一个blake2s对象,然后使用update方法将消息传递给blake2s对象。最后,我们使用
hexdigest`方法获取bl2s值的十六进制表示。
结论
本攻略介绍了Python中hashlib模块的7种加密算法的用法和示例,包括MD5、SHA1、SHA224、SHA256、SHA384、SHA512和blake2列。这些示例代码帮助学者更好地理解如何使用Python实现加密法,并将其应用于不同问题。