使用Hashlib模块将Python哈希字符串和列表转换为MD5、SHA256、SHA512

安全是当今IT的重要组成部分,并赢得IT界更多的尊重。哈希是一种保护和检查数据的安全措施。在本教程中,我们将了解如何使用哈希表和字符串。

【预售】A Bit-Serial Implementation of the AES Encryption
美国库房发货,通常付款后5-8周到货! | 月销量0件
券后755-50=705元
原价¥755

淘口令:

¥srX8XJL3qJO¥
 

什么是哈希

Hash是一种函数,其中提供的数据将转换为另一种表达式格式,并且不能用普通函数恢复。

MD5型

MD5是很久以前创建的非常流行的哈希算法。它在It界非常流行。但它有安全问题,这使得它不安全的公共使用。

SHA1/SHA224/SHA256/SHA384/SHA512

SHA是一个散列算法家族,可以在其中创建不同大小的散列。我们可以创建从128字节到512字节的散列。SHA算法是近年来流行的一种算法,可以安全地应用于我们的应用和系统中。

OpenSSL

OpenSSL是一种流行的提供加密功能的库。我们可以使用不同的加密和散列算法。还有OpenSSL库和Python模块。

如何在Python应用程序中安装和使用OpenSSL库?

Hashlib模块

Hashlib是Python提供的内置库。这个库主要提供不同类型的散列库,我们前面已经解释过了。我们可以进口 hashlib 模块如下。

import hashlib

MD5哈希

现在我们来看看如何将给定的值散列成MD5散列。我们将使用 md5() 由提供的功能 hashlib . 在这个例子中,我们将散列字符串 poftut.com . 为了创建散列,我们必须用 encode() 功能。

 hashlib.md5('poftutcom'.encode())
MD5 Hash
MD5哈希

打印哈希十六进制格式

我们可以以十六进制格式打印创建的哈希。我们只需要使用 hexdigest() 一个接一个的散列函数。

hashlib.md5('poftutcom'.encode()).hexdigest()
Print Hash Hexadecimal Format
打印哈希十六进制格式

SHA256哈希

我们还可以使用 sha256() 功能。在这个例子中,我们将散列字符串 poftut.com . 正如我们将看到的,这个散列函数将为MD5提供不同的值。create hash将比MD5长,这使得它比MD5更安全

hashlib.sha256('poftutcom'.encode()).hexdigest()
SHA256 Hash
SHA256哈希

SHA512哈希

SHA512是SHA家族中最安全的版本。使用这个散列将使我们的实现更加安全。我们可以像下面这样使用SHA512。我们将看到,它将创建比以前实现的MD5和SHA256更长的散列结果。

 hashlib.sha512('poftutcom'.encode()).hexdigest()
SHA512 Hash
SHA512哈希

散列多个值

如果我们有很多对象,那么需要逐个散列这些对象是非常乏味的任务。我们可以使用循环或 map 函数来实现哈希。在这个例子中,我们将提供3个字符串来进行散列 sha256 并以十六进制格式打印到控制台。

for h in map(hashlib.sha256,['poftut.com'.encode(),'ismail'.encode(),'ali'.encode()]): h.hexdigest()
Hash Multiple Values
散列多个值

相关文章: 如何使用OpenSSL读取RSA、X509、PKCS12证书?

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享