我读过几篇有关加密密码的文章,而我读到的似乎是bcrypt是必经之路。
我对加密几乎一无所知,如果我将用户名添加到密码中并对其进行哈希处理,那么从安全角度来看,这有什么区别吗?
为每个用户创建盐也有意义吗?如果我的数据库泄露了那些盐,那我也应该用全局盐加密盐吗?
也对用户的电子邮件地址进行加密是否有意义?
我计划要做的是:
+use bcrypt
+allow all characters in passwords
+force User to use a digit and special char in his password
+set the minimum password length to 8 chars
我不是在构建需要极高安全性标准的应用程序,但我想为用户提供一些重要的保护,以防我的数据库因某种原因泄漏。(希望不会)
如果我将用户名添加到密码中并对其进行哈希处理,那么从安全角度来看有什么区别吗?
没有增加的安全性,特别是如果您已经在使用SALT。缺点是每次用户更改用户名时都必须重新哈希并保留哈希。
为每个用户创建盐也有意义吗?
是的,通常这样做。
如果我的数据库泄露了那些盐,那我也应该用全局盐加密盐吗?
不,不要加密它们。SALT的目的仅仅是迫使攻击者必须对每个用户/密码执行新的蛮力搜索,而不是对所有用户/密码进行一次蛮力攻击。
也对用户的电子邮件地址进行加密是否有意义?
不会。除非您对此有一些(奇怪的)业务要求。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句