0

我想echo记录用户的详细信息,这对于纯文本来说很好,但我在数据库中有 md5 散列密码。我想用星号显示密码,所以唯一的变量是密码的长度。因此,如果某人的密码是cat,它会显示:密码:*** 如果是其他人的,hippopotamus它会显示:密码:************ 但是密码加密这似乎很困难。尽管 eBay 和 Facebook 等网站确实有此功能,但它们必须对用户密码进行加密。

任何人都可以阐明这个问题。谢谢

4

2 回答 2

3

是不可能的。没有办法知道用于生成 md5 哈希的输入数据的长度。

像 ebay 和 facebook 这样的网站确实有这个,他们必须加密用户密码

如果他们这样做(我希望他们不要这样做,因为它会将密码数据泄露给公众,从而更容易破解),那么他们将不得不存储输入字符串的长度以及散列密码。

您看到的可能是浏览器自动为您填写密码字段。星号是(浏览器)使用的标准掩码字符,以降低“偷窥”攻击的有效性。

于 2012-07-07T22:05:16.480 回答
0

您可以在最初对密码进行散列/加盐时将密码的长度存储在数据库中。 但是散列/加盐的重点是防止数据库被盗时密码被泄露。如果数据库被盗,知道密码的长度是一个很好的安全妥协。

于 2012-07-07T22:08:58.213 回答