hashlib模块(加密)
import hashlib
m=hashlib.md5()
print(m)
执行结果:
<md5 HASH object @ 0x000001933150C8A0> #MD5哈希对象
Process finished with exit code 0
MD5加密算法应用示例:
import hashlib
m=hashlib.md5()
print(m)
m.update('yuyang'.encode('utf8'))
print(m.hexdigest())
执行结果:
<md5 HASH object @ 0x000001DF69ECC828>
2d06c34972c162126d3ed57db3c535d6
Process finished with exit code 0
-
python3中所有的字符编码都是unicode类型,所以对于字符串需要转换成utf8的编码格式
import hashlib
m=hashlib.md5()
print(m)
m.update('yuyang'.encode('utf8')) #程序执行至此,已经完成'yuyang'字符串的加密
print(m.hexdigest())
m.update('jiayanping'.encode('utf8')) #程序执行至此,已经完成'jiayanping'字符串的加密,'yuyang'和'jiayanping'两个字符串之间是有联系的
print(m.hexdigest())
m1=hashlib.md5() #这里需要重新赋值m1,如果还是用m的话'yuyangjiayanping'字符串就相当于在上面'yuyang'和'jiayanping'后面加,打印出来就是另外一个hash值,实际上就是'yuyangjiayanpingyuyangjiayanping'的hash值
m1.update('yuyangjiayanping'.encode('utf8')) #从这里的执行结果可以看出,'jiayanping'字符串实际上加密的时候,就是加在'yuyang'字符串后面进行加密的
print(m1.hexdigest())
执行结果:
<md5 HASH object @ 0x000002AA2D57C828>
2d06c34972c162126d3ed57db3c535d6
5c1e85fa51d93a932e97af1e4449fe15
5c1e85fa51d93a932e97af1e4449fe15
Process finished with exit code 0
SHA加密算法应用示例:
import hashlib
m=hashlib.sha256()
print(m)
m.update('yuyang'.encode('utf8'))
print(m.hexdigest())
m.update('jiayanping'.encode('utf8'))
print(m.hexdigest())
m1=hashlib.sha256()
m1.update('yuyangjiayanping'.encode('utf8'))
print(m1.hexdigest())
执行结果:
<sha256 HASH object @ 0x0000012BC4B4C828>
01b448003362e237c92aa04ee052135d1d936c89a9537cc0559ae7ee0feef9f5
b448ca3cfaf1125b59fee21edced6170707383c9803023b90ca42337f155cbfe
b448ca3cfaf1125b59fee21edced6170707383c9803023b90ca42337f155cbfe
Process finished with exit code 0
加密方法同MD5都是在前一个字符串的后面追加,然后加密的
logging模块
- 默认情况下,python的lo