(一)数据不能明文存储怎么办
1、简单Hash
- 以前,大多数网站保存的都是经过一次MD5哈希的密码。 哈希保存的思路很简单:用户注册时,把他的密码做一次MD5运算储存起来;用户登录时,把他输入的密码做一次MD5运算,再验证是否和数据库里储存的一致。不安全。
2、其他Hash
- 其他哈希方法:sha256等;应付不了彩虹表的攻击方式:彩虹表就是先尽可能把简单的数字密码组合的哈希计算出来,这些明文和哈希结果的对应关系就是一张彩虹表。可以破解绝大多数人的密码。
3、加盐Hash
- 目前业界最常见的做法是加盐哈希:保证了储存数据的不可逆,防止彩虹表的攻击
- 用户注册时,给他随机生成一段字符串,这段字符串就是盐(Salt)
- 把用户注册输入的密码和盐拼接在一起,叫做加盐密码
- 对加盐密码进行哈希,并把结果和盐都储存起来
- 在登陆时,先取出盐,再同样进行拼接、计算哈希,就能判断密码的合法性
(二)数据库与文件相比好处/数据库系统对比文件系统的优点
- 提高了数据的共享性,使多个用户能够同时访问数据库中的数据。
- 提高了数据的一致性和完整性。
- 提供数据与应用程序的独立性 <