为什么要对密码进行加密?
??一般密码账户都是保存在数据库中,如果你的数据库被黑客入侵被盗了,如果你不加密,那么你的账户被盗了,就危险了。而加密的密码就不同了,因为黑客得到的只是你加密后的字符串,而对方可能不知道你的加密算法,破解难度增加,这样你的账户安全性相对来说就高了很多。
用md5加密用户密码
这里封装一个方法,用的时候直接导入即可!
import hashlib
def make_password(password):
md5 = hashlib.md5()
sign_utf8 = str(password).encode(encoding="utf-8")
md5.update(sign_utf8)
return md5.hexdigest()
扩展
??Hash算法也称作散列算法或报文摘要(digital digest )。Hash 算法将任意长度数据转化为固定长度字符序列。Hash结果是始终维一的 。任意二个序列的 Hash 结果是不同的。Hash 结果亦称为数字指纹(Finger Print),它有固定的长度,且相同的明文摘要必定一致。这样这串摘要使可成为验证明文是否是"真身"的"指纹"了。
??Hash 算法数字签字通用的加密标准有:SHA-1 ,MD5 等。
??Hash 算法用于加密但不是加密算法,因为它理论上不可逆也就无法还原明文。而传输用户密码(应该叫口令)这种需求是不需要还原明文的,只需要比对明文摘要判断明文是否相同,所以才用安全性高运算速度快的 Hash 算法!
|