首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >密码加密与密码问题

密码加密与密码问题
EN

Stack Overflow用户
提问于 2013-09-12 14:34:35
回答 2查看 102关注 0票数 2

我读过几篇关于密码加密的文章,我读到的似乎是bcrypt的方法。

我对密码学知之甚少,如果我将用户名添加到密码中并对其进行散列,从安全性的角度看,这有什么区别吗?

另外,为每个用户创建一个salt是否有意义?如果我的数据库被泄露,这些盐类也会存在,我是否也应该用全局盐加密这些盐类呢?

同时加密用户的电子邮件地址也有意义吗?

我计划做的是:

代码语言:javascript
复制
+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

我并不是在构建一个需要超级高安全标准的应用程序,但我想为我的用户提供一些串连保护,以防我的DB被泄露。(希望不会)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-12 14:39:46

从安全性的角度来看,如果我将用户名添加到密码和散列中,会有什么不同吗?

没有额外的安全性,特别是如果您已经在使用盐。它的缺点是每次用户更改用户名时都必须重新散列并将其持久化。

另外,为每个用户创建一个salt是否有意义?

是的,这是常见的做法。

如果我的数据库被泄露,这些盐类也会存在,我是否也应该用全局盐加密这些盐类呢?

不,不要加密。SALT的目的只是迫使攻击者对每个用户/密码执行新的蛮力搜索,而不是对所有人执行一次暴力攻击。

同时加密用户的电子邮件地址也有意义吗?

不是的。除非你对此有一些(奇怪的)业务要求。

票数 2
EN

Stack Overflow用户

发布于 2013-09-12 14:40:00

感谢你在执行之前问了这个问题。不幸的是,这是我对你最乐观的地方。

安全是很难做好的。事实上,很难做对的事。如果你对此知之甚少,那就在你知道之前不要尝试。同时,使用一个经过验证的基础结构,以(希望)正确的方式为您做到这一点。无论您使用的是什么框架,都应该有一个可用的框架,如果没有,这可能是切换的充分理由。

这就是说,不要使用用户名的盐分,也不要费心加密盐。您也不应该加密(或哈希)用户的电子邮件地址,除非您或其他任何人将永远不需要知道它(作为系统的维护者)。并且将用户名添加到密码中没有好处,也有几个缺点,所以也不要这样做。

就一种独特的盐而言,这是必须的。没有它,你最好没有一个。在继续之前,先阅读一些关于加密、散列和盐渍(和胡椒)的内容。更好的是,使用前面提到的已经为您做过的库。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18767180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档