Python-hashlib模块与加密算法

加密算法

md5sha1sha256加密是不可逆的,base64可逆。

借助hashlib模块,实现对明文的加密。

示例:

import hashlib

md5 = hashlib.md5()
md5.update('how to use md5 in python hashlib?'.encode('utf-8'))
print(md5.hexdigest())

哎呀,报错了

Traceback (most recent call last):
  File "G:/PyCharm Community Edition 2017.1/WorkSpace/常用内建模块/hashlib.py", line 1, in <module>
    import hashlib
  File "G:\PyCharm Community Edition 2017.1\WorkSpace\常用内建模块\hashlib.py", line 3, in <module>
    md5 = hashlib.md5()
AttributeError: module 'hashlib' has no attribute 'md5'

原因如下:

原来是python会先将当前目录下面的hashlib导入,正好我取得文件名是hashlib,也怪我太随意没有规范取名

修改文件名后,结果如下

d26a53750bc40b38b65a520292f69306

三种常用的加密算法

import hashlib

md5 = hashlib.md5()
md5.update('how to use md5 in python hashlib?'.encode('utf-8'))
print(md5.hexdigest())

sha1 = hashlib.sha1()
sha1.update('how to use sha1 in python hashlib?'.encode('utf-8'))
print(sha1.hexdigest())

sha256 = hashlib.sha3_256()
sha256.update('how to use sha256 in python hashlib?'.encode('utf-8'))
print(sha256.hexdigest())

输出结果如下:

# 32位
d26a53750bc40b38b65a520292f69306

# 40位
2c76b57293ce30acef38d98f6046927161b46a44

# 64位
0d81c6cb808870af5d3896c7c290ef380661b267f4f2274714f7bdbdf9b6ff57

可以发现,不同的加密算法的密文长度有所不同,长度越长,加密的复杂度越高,安全性越好。

发布了50 篇原创文章 · 获赞 4 · 访问量 1366

猜你喜欢

转载自blog.csdn.net/weixin_43999327/article/details/103713922
今日推荐