盘点Python加密解密模块hashlib的7种加密算法(推荐)

  • Post category:Python

盘点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实现加密法,并将其应用于不同问题。