对于密码在数据库中的存储怎样加密呢???
用户密码存储方式:
1、直接明文保存,比如用户设置的密码是“123456”,直接将“123456”保存在数据库中,这种是最简单的保存方式,也是最不安全的方式。但实际上不少互联网公司,都可能采取的是这种方式。
2.使用MD5、SHA1等单向HASH算法保护密码,使用这些算法后,无法通过计算还原出原始密码,而且实现比较简单,因此很多互联网公司都采用这种方式保存用户密码,曾经这种方式也是比较安全的方式,但随着彩虹表技术的兴起,可以建立彩虹表进行查表破解,目前这种方式已经很不安全了。
例如:
import hashlib
def make_password(password):
# md5
md5 = hashlib.md5()
# 转码
sign_utf8 = str(password).encode(encoding="utf-8")
# 加密
md5.update(sign_utf8)
# 返回密文
return md5.hexdigest()
使用时直接调用即可: