Python的加密模块hashlib与base64怎么使用


这篇文章主要介绍了Python的加密模块hashlib与base64怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python的加密模块hashlib与base64怎么使用文章都会有所收获,下面我们一起来看看吧。hashlib 模块的介绍
hashlib 模块中拥有很多的加密算法,我们并不需要关心加密算法的实现方法。只需要调用我们需要的加密函数,就可以帮助我们对数据进行加密。它的加密算法有很多,不仅如此,hashlib 中很多加密算法加密难度很大,所以加密后的数据很难被破解(这里的很难被破解是相对而言的,比如MD5、sha1、mysql、ntlm就可以在 cmd5 通过穷举的方式进行明密文的对应查询。),这就是 hashlib 强大的地方。既然无法破解也就无法解密,所以hashlib 中的加密方法都是不可逆的。接下来就让我们看一下hashlib中常用的加密算法:以上的加密函数都有一个 byte 类型的参数,通过调用对应的函数会返回一个 hash对象。所谓hashlib就是一种加密方式。sha1、sha256、sha512 的区别就是 数值越高,被破解的概率就越低。hashlib 模块生成加密字符串示例:大家可能有一个疑问, hashlib 模块加密后的无法解密获取原始数据,那我们加密后的信息有什么用呢?实际上场景有很多,我们今天就来举例一个场景。比如我们的用户需要某一个服务的帮助,用户每次请求服务都需要一个凭证。这个凭证信息是通过加密的方式生成的字符串,并且该加密方式是双方达成一致,标准相同的。当用户请求该服务的时候,带上这个加密的字符串,服务会通过响应的加密规范也生成一个字符串。如果用户带过来的凭证的字符串与服务计算出来的凭证的字符串完全一致,则证明用户请求的这个服务是一个合法的请求,反之则不合法。那么定义这样一个认证签名字符串就需要两个数据和一个模块,模块就是 hashlib ,数据1就是 用户与服务之间达成共识的一个基础签名 ,我们定义它为 bash_sign ;数据2我们可以使用 用户请求服务生成凭证的时间戳,我们定义它为 user_timestamp 。代码示例如下:所以这一种验证需要两个方面,第一个就是我们生成传入的 token 以及 时间戳,第二个就是 token 是否是按照我们定义好的标准生成的;这两个不管是那一个出错了,服务器校验签名都是不通过。这也是 hashlib 模块 常用的场景之一,大家也可以尝试拓展一下思维,还有哪些场景适用于这种不可逆的算免费云主机域名法。base64 模块的介绍
base64 加密模块也是一种通用型的加密算法,与之前我们讲的 json 模块一样,在很多编程语言中都有 base64模块且功能基本相同。 所以在任何编程语言中,都可以将base64加密的字符串进行解密。既然都可以进行解密,那么带来的问题就是没有安全可言了。其实不然,我们自然有办法去解决。稍后我们通过一个小练习来解决这个问题。
base64 模块 模块中的常用方法注意:encodestring()函数 与 decodestring() 函数 虽然从名字上来看是对 字符串 进行 加密解密,但是在用法上需要对字符串进行 byte 类型的转换,然后再执行对应的加密解密操作。encodebytes()函数 与 decodebytes() 函数 功能、参数、返回值 与字符串加解密一致,实际上在 python3.x 中,官方更推荐使用着一组函数进行加密和解密。接下来我们看一下 base64 模块的 加解密演示那里:注意:由于无论如何我们都需要通过 byte 类型进行数据的加密与解密,所以我们可以对加密、解密进行一个封装。但是就像上文我们提及的一样,既然所有人都知道 base64 的加密方式与解密方式,那我们该如何是好呢?其实也很简单,那就是对我们的 base64 加密的密文进行字符串替换的二次输出。(所谓的二次输出,其实就是二次转换的过程。)比如我们定义三个字符串专门用作加密后的某个字符的替换,代码示例如下:执行结果如下:既然加密进行了二次转换,那么解密的时候同样需要进行二次转换才行,所以我们需要重构一下 decone() 函数。运行结果如下:通过这种方法,只有具体的开发人员与使用的业务人员才知道这种二次替换的方式,需要通过那些字符进行加密或者解密。从而提高了数据传输的安全性。关于“Python的加密模块hashlib与base64怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python的加密模块hashlib与base64怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。

相关推荐: Docker容器harbor私有仓库怎么部署和管理

这篇文章主要讲解了“Docker容器harbor私有仓库怎么部署和管理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker容器harbor私有仓库怎么部署和管理”吧!Harbor是VMware公司开源的企…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/14 10:39
下一篇 05/14 10:39

相关推荐