首页 > 编程知识 正文

python md5加密,python hashlib

时间:2023-05-05 17:29:50 阅读:23973 作者:1640

混列lib模块用于加密相关操作,主要提供SHA1、SHA224、SHA256、SHA384、SHA512和md5算法而不是md5模块。

python3废除了md5和sha模块

摘要算法是什么? 摘要算法又称散列算法、散列算法。 使用函数将任意长度的数据转换为固定长度的数据串(通常用十六进制字符串表示)。

摘要算法是通过摘要函数f ()对任意长度的数据data计算出固定长度的摘要digest的算法,其目的在于发现原始数据是否被篡改。

摘要算法之所以能够指出数据是否被篡改,是因为摘要函数是单向函数,计算f(data )很简单,但在digest中反推data非常困难。 此外,如果对原始数据进行bit修改,则计算出的摘要将完全不同。

import hashlib

MD5是最常见的摘要算法,速度快,生成结果为固定的128位字节,通常用32位十六进制字符串表示。

md5=hashlib.md5 ()

MD5.update(123456 ).encode (utf-8 ) )

打印(MD5.hex digest ) )

计算的摘要

e 10a DC 3949 ba 59 abb e56 e 057 f 20 f 883 e

SHA1的结果是160位字节,通常由40位十六进制字符串表示。

sha1=hashlib.sha1 (

sha1.update(123456 ).encode (utf-8 ) )

打印(sha1.hex digest ) )

计算的摘要

7 c4a 8d 09 ca 3762 af 61 e 59520943 DC 26494 f 8941 b

SHA256、SHA384和SHA512是比SHA1更安全的算法,但越慢,摘要长度也越长。

sha256=hashlib.sha256 (

sha 256 .更新(123456 ).encode (utf-8 ) )

打印(sha 256.hex digest ) )

计算的摘要

8d 969 ee F6 ecad 3c 29 a3 a 629280 e 686 cf0C3 F5 D5 a86 aff 3c a 12020 c 923 ADC6c 92

sha384=hashlib.sha384 (

sha 384 .更新(123456 ).encode (utf-8 ) )

打印(sha 384.hex digest ) )

计算的摘要

0a 989 ebc 4a 77 b 56 a6 e 2bb 7b 19 d 995 d 185 ce 44090 c 13e 2984 b 7e cc6 d 446 d 446 b 61 ea 9991 b 76 a 4c 2f 04 b1b 4d 2448414449454

sha512=hashlib.sha512 (

sha 512 .更新(123456 ).encode (utf-8 ) )

打印(sha 512.hex digest ) )

计算的摘要

ba 3253876 aed 6b c 22 D4 a6 ff 53 d 8406 c6ad 864195 ed 144 ab 5c 87621 b6c 233 b 548 baeae 6956 df 346 e c8c 17 F5 e a10 f35 ee 3c BC 514797 ed7DDD 3145464 e2a0Bab 4456

虽然上述加密算法仍然非常强大,但是它的缺点是崩溃库能够进行反向分析。 因此,需要在加密算法中添加自定义key进行加密。

MD5=hashlib.MD5(Jiami ).encode (utf-8 ) )

MD5.update(123456 ).encode (utf-8 ) )

打印(MD5.hex digest ) )

计算的摘要

7 CEA 57894 be 0879 c 73 d 39536 CD 13e ad 2

python还有一个hmac模块,用于创建key和内容,然后进行处理和加密

导入hmac

h=hmac.new(Jiami ).encode ) (utf-8 ) )

h.update(123456 ).encode (utf-8 ) )

打印(h.hex digest ) )

计算的摘要

c 9132 de0e 588824 BD 284 fc34 CD6c9DC 0

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。