0

什么更安全?

我可以使用任何一个,因为我正在使用 CodeIgniter,但是对于 Sha1,如果我出于某种奇怪的原因需要像加密一样使用它,我就无法反转。

但是我对 PHP 还是有点陌生​​,所以如果有办法我可以做一些事情,比如将 sha1 哈希密码显示为星号,所以如果说你的密码是“lala123”,它会向我显示:“ *******”并且永远不会曾经能够显示“lala123”,是否可以使用 sha1 做到这一点?如果是这样,请帮助我,否则我将使用加密,但前提是它可以安全地用于密码。请告诉我 :)

4

2 回答 2

2

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

于 2012-06-25T01:43:57.003 回答
2

散列被认为更安全,因为即使您也无法恢复密码。如果您的密码数据库被泄露,并且密码加密是可逆的,那么坏人可能会解密它们,尤其是在进行解密的代码也被泄露的情况下。SHA1 在设计上是不可逆的。

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

于 2012-06-25T01:34:54.040 回答