import hashlib
#加密必须是字符串,所有的字符串加密结果都是一一的,不管用什么语言加密
s='123'
#加密之前应该将字符串转为2进制
print(s.encode())
# #加密。md5加密是补可逆转的,解析不回来
M=hashlib.md5(s.encode())
# #获取加密后的结果
result=M.hexdigest()
print(result)
#数据库中存账户密码,账号是明文,密码是加密后的,怎么实现明文和密文一样的
#3输入密码后就加密然后和数据库中密文对比,对比一样的就是成功的,加密之后的结果
#是一定的
#文件下载时候的文件校验码:
#采用撞库的方式可以解密
#加盐,有些简单的md5可以解密出来,采用加盐加密的时候,都加了一个随机的字符串,
#密码为最后加密的包括有字符串的,最后和数据库中的不一样,盐就是这个字符串,提高了
#安全系数
def md5(s,salt='!@#$'):
s=str(s+salt).encode()
M=hashlib.md5(s)
result=M.hexdigest()
print("加盐的结果是%s"%result)
return result
md5('123')
md5('123','^&*((')