- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
盘点Python加密解密模块hashlib的7种加密算法
????在程序中我们经常可以看到有很多的加密算法,比如说MD5 sha1等,今日我们就来了解下这下加密算法的吧,在了解之前我们需要晓得一个模块嘛就是hashlib,他就是目前Python一个供应字符加密的模块,它加密的字符类型为二进制编码,所以直接加密字符串会报错。
import hashlib
string=任性的90后boy
#使用encode进行转换
sha1 = hashlib.sha1()
sha1.update(string.encode(utf-8))
res = sha1.hexdigest()
print(sha1接受encode转换加密结果:,res)
#使用byte转换为二进制
sha1 = hashlib.sha1()
sha1.update(bytes(string,encoding=utf-8))
res = sha1.hexdigest()
print(sha1接受byte转换的结果:,res)
可以使用下列这两种方法任意一种猎取到hashlib中全部的散列算法集合:
import hashlib
a=hashlib.algorithms_available
b=hashlib.algorithms_guaranteed
print(a)
print(b)
下面我们选择常用的集中算法来进行讲解。
一、MD5
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整全都。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程言语普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。
MD5算法具有以下特点:
1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、简约计算:从原数据计算出MD5值很简约。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区分。
4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是格外困难的。
MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被压缩成一种保密的格式(就是把一个任意长度的字节串变换成肯定长的十六进制数字串)。MD5是最常见的摘要算法,速度很快,生成结果是固定的128 bit字节,通常用一个32位的16进制字符串表示。
import hashlib
string=任性的90后boy
md5 = hashlib.md5()
md5.update(string.encode(utf-8))#转码,update里的必需是字节型
res = md5.hexdigest() #前往字符型摘要信息
print(md5.digest())#前往字节型的摘要信息
print(md5加密结果:,res)
二、sha1
平安散列算法,SHA1的结果是160 bit字节,通常用一个40位的16进制字符串表示
import hashlib
string=任性的90后boy
sha1 = hashlib.sha1()
sha1.update(string.encode(utf-8))
res = sha1.hexdigest()
print(sha1加密结果:,res)
三、sha224
平安散列算法
import hashlib
string=任性的90后boy
sha224 = hashlib.sha224()
sha224.update(string.encode(utf-8))
res = sha224.hexdigest()
print(sha224加密结果:,res)
四、sha256
平安散列算法
import hashlib
string=任性的90后boy
sha256 = hashlib.sha256()
sha256.update(string.encode(utf-8))
res = sha256.hexdigest()
print(sha256加密结果:,res)
五、sha384
平安散列算法
import hashlib
string=任性的90后boy
sha384 = hashlib.sha384()
sha384.update(string.encode(utf-8))
res = sha384.hexdigest()
print(sha384加密结果:,res)
六、sha512
平安散列算法
import hashlib
string=任性的90后boy
sha512= hashlib.sha512()
sha512.update(string.encode(utf-8))
res
原创力文档


文档评论(0)