day6—python——hashlib模块

加密的模块

import hashlib
# import md5 #这个是python2里面的 后面的方法可以直接md5,不用hashlib.md5


password='123123'
# print(password.encode())#转成二进制类型的才可以加密
m = hashlib.md5(password.encode())
m = hashlib.sha1(password.encode()) #其他类型的加密方式,从上到下依次更安全
m = hashlib.sha224(password.encode()) #其他类型的加密方式,从上到下依次更安全
m = hashlib.sha256(password.encode())#其他类型的加密方式,从上到下依次更安全
print(dir(m)) #显示m可以调用的方法
print(m.hexdigest()) #打印加密后的字符串
print(len(m.hexdigest())) #查看密码有多长,len(),无论之前密码有多长,一般md5后都是32位

#md5加密之后是不可逆
--------------------------------------------------------------------------------

防止撞库,可以给密码加盐
def my_md5(s:str,salt=None): #建议定义s为字符串类型,默认不加盐
#salt是盐值
s = str(s) #强制转换s为字符串类型
if salt: #如果加盐
s = s+salt #新密码等于原密码加盐
m = hashlib.md5(s.encode())
return m.hexdigest()
posted @ 2018-10-04 14:17  apollecn  阅读(137)  评论(0编辑  收藏  举报