首页 > 编程知识 正文

java加密解密算法,python md5加密解密

时间:2023-05-06 12:49:47 阅读:23940 作者:3625

点击上面的"Python爬虫与数据挖掘",关注

回复“书籍”后,Python将收到从入门到高级的10本电子书

现在

每天

涨潮两岸辽阔,风正扬帆。

你好,我是lmdqt。 今天向大家介绍hashlib模块!

前言:在程序中可以看到很多加密算法。 例如,MD5 sha1等。 今天就让我们知道这个加密算法吧。 在知道之前,需要知道一个模块。 那是哈斯利b。 他目前是一个提供Python字符加密的模块,其加密字符类型为二进制代码,因此直接加密字符串会报告错误。

导入hashlibstring='使用任性的90后boy'#encode进行转换sha1=hashlib.sha1 () sha1.update(string.encode ) ' utf-8 ' 使用res )使用byte转换二进制文件sha1=hashlib.sha1 ) ) sha1.update ) byte (字符串,编码=' ut tes ) )

可以使用以下两种方法之一获取散列lib中所有散列算法的集合:

importhashliba=hash lib.algorithms _ available b=hash lib.algorithms _ guaranteed print (b (a ) print ) b )中常用

另一方面,MD5 MD5即消息摘要算法5 (信息摘要算法5 )用于确保信息传输的完全一致性。 它是计算机中广泛使用的散列算法之一(也是摘要算法、散列算法),主流编程语言已经在MD5中实现。 将汉字等数据运算到另一个定长值是哈希算法的基础原理,MD5的前身是MD2、MD3、MD4。

MD5算法具有以下特点:

1、压缩特性:任意长度的数据,所算出的MD5值的长度一定。

2、根据容易计算的:元数据计算MD5值很简单。

3、抗修改性无论对:元数据进行任何改变,只要修改一个字节,得到的MD5值都有很大的差异。

4、强碰撞阻力:知道原始数据及其MD5值,很难找到具有相同MD5值的数据,即伪造数据。

MD5的作用是在用数字签名软件签名私钥之前,将大容量信息“压缩”为秘密格式。 这意味着将任意长度的字节串转换为一定长度的十六进制数字串。 MD5是最常见的摘要算法,速度快,生成结果为固定的128位字节,通常用32位十六进制字符串表示。

import hashlibstring='任性的90后boy'md5=hashlib.md5 () MD5.update )转码update中的是字节型res=MD5.hexdigest(# 返回字符类型摘要信息print ) MD5.digest ) )返回字节类型摘要信息print )、MD5加密结果: )、RES ) 2、sha1安全散列算法、sha1

导入hashlibstring='任性的90后boy ' sha1=hash lib.sha1 (sha1.update (string.encode ) utf-8 ) ) RES=sha1.heeead

import hashlibstring='任性的90后boy ' sha 224=hash lib.sha 224 (sha 224.update (string.encode ) utf-8 ' ) ) RES=sha

import hashlibstring='任性的90后boy ' sha 256=hash lib.sha 256 (sha 256.update (string.encode ) utf-8 ' ) ) RES=sha

import hashlibstring='任性的90后boy ' sha 384=hash lib.sha 384 (sha 384.update (string.encode ) utf-8 ' ) ) RES=sha

六、sha512

安全散列算法

import hashlibstring='任性的90后boy'sha512= hashlib.sha512()sha512.update(string.encode('utf-8'))res = sha512.hexdigest()print("sha512加密结果:",res) 七、高级加密

以上加密算法虽然依然非常厉害,但时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。

md5 = hashlib.md5()md5.update('md5'.encode('utf-8'))res = md5.hexdigest()print("普通加密:",res)md51 = hashlib.md5(b'md512')md51.update('md51'.encode('utf-8'))res = md51.hexdigest()print("采用key加密:",res) 总结

好了,今天就跟大家说这么多,主要给大家介绍了md5、sha1、sha224、sha256、sha384、sha512和高级加密等集中算法,简单介绍了每个算法的特点和使用方法,后续精彩敬请期待!

想要学习更多网络爬虫知识,请点击阅读原文前往爬虫网站。

------------------- End -------------------

往期精彩文章推荐:

一篇文章浅析Python自带的线程池和进程池手把手教你在Windows下设置分布式队列Celery的心跳轮询手把手教你用Python操纵Word自动编写离职报告

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

/今日留言主题/

随便说一两句吧~

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