位置: 编程技术 - 正文
推荐整理分享Python3 加密(hashlib和hmac)模块的实现(python简单加密),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:python3 加密压缩,python 加密代码,python des3加密,python des3加密,python3 加密库 性能对比,python3加密解密,python3 加密库 性能对比,python3 加密压缩,内容如对您有帮助,希望把文章链接给更多的朋友!
以下代码以Python3.6.1为例
hashlib : 不可逆加密 hmac : 不可逆键值对方式加密hashlib模块简介:
hashlib模块为不同的安全哈希/安全散列(Secure Hash Algorithm)和 信息摘要算法(Message Digest Algorithm)实现了一个公共的、通用的接口,也可以说是一个统一的入口。因为hashlib模块不仅仅是整合了md5和sha模块的功能,还提供了对更多中算法的函数实现,如:MD5,SHA1,SHA,SHA,SHA和SHA。
hashlib模块使用步骤:
1)获取一个哈希算法对应的哈希对象(比如名称为hash): 可以通过 hashlib.new(哈希算法名称, 初始出入信息)函数,来获取这个哈希对象,如hashlib.new('MD5', 'Hello'),hashlib.new('SHA1', 'Hello')等;也可以通过hashlib.哈希算法名称()来获取这个哈希对象,如hashlib.md5(), hashlib.sha1()等。
2)设置/追加输入信息: 调用已得到哈希对象的update(输入信息)方法可以设置或追加输入信息,多次调用该方法,等价于把每次传递的参数凭借后进行作为一个参数垫底给update()方法。也就是说,多次调用是累加,而不是覆盖。
3)获取输入信息对应的摘要: 调用已得到的哈希对象的digest()方法或hexdigest()方法即可得到传递给update()方法的字符串参数的摘要信息。digest()方法返回的摘要信息是一个二进制格式的字符串,其中可能包含非ASCII字符,包括NUL字节,该字符串长度可以通过哈希对象的digest_size属性获取;而hexdigest()方法返回的摘要信息是一个进制格式的字符串,该字符串中只包含进制的数字,且长度是digest()返回结果长度的2倍,这可用邮件的安全交互或其它非二进制的环境中。
hashmac模块简介:
前面说过,HMAC算法也是一种一种单项加密算法,并且它是基于上面各种哈希算法/散列算法的,只是它可以在运算过程中使用一个密钥来增增强安全性。hmac模块实现了HAMC算法,提供了相应的函数和方法,且与hashlib提供的api基本一致。
hmac模块使用步骤:
hmac模块模块的使用步骤与hashlib模块的使用步骤基本一致,只是在第1步获取hmac对象时,只能使用hmac.new()函数,因为hmac模块没有提供与具体哈希算法对应的函数来获取hmac对象。
标签: python简单加密
本文链接地址:https://www.jiuchutong.com/biancheng/375429.html 转载请保留说明!友情链接: 武汉网站建设