密码的Sha1或加密

时间:2012-06-25 01:27:46

标签: codeigniter encryption hash passwords sha1

什么是更安全?

我可以使用其中任何一个,因为我正在使用CodeIgniter,但是使用Sha1,如果我因为某些奇怪的原因需要加密,我无法撤消。

但我对PHP仍然有些新意,所以如果有办法,我可以做一些像sha1哈希密码作为星号的东西,所以如果说你的密码是“lala123”,它会向我显示: *******“并且永远无法显示”lala123“,是否可以使用sha1执行此操作?如果是这样,请帮助我,否则我会使用加密,但前提是它可以安全地用于密码。请让我知道:))

2 个答案:

答案 0 :(得分:2)

哈希被认为更安全,因为即使您无法恢复密码。如果您的密码数据库被泄露,并且密码加密是可逆的,那么坏人可能会解密它们,特别是如果解密的代码也被破坏了。 SHA1在设计上是不可逆的。

您不应该在UI中显示密码。 * 只是 - 任意数量的星星。披露用户密码的长度本身就构成了对可能的猜测者的一个相当大的暗示。

答案 1 :(得分:2)

都不是。您应该使用散列来保证密码的安全,以防有人获取密码数据库。但共识的答案似乎是使用b this answer中描述的bcrypt。它是基于具有可变成本的河豚的哈希函数,因此您可以调整安全性与性能。