将MD5散列密码显示为带星号的文本


Display MD5 hashed passwords as asterisked text

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

有人能阐明这个问题吗。感谢

这是不可能的。无法判断用于生成md5哈希的输入数据的长度。

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

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

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

当最初对密码进行哈希/加盐处理时,您可以将密码的长度存储在数据库中但是哈希/salting的全部目的是防止数据库被盗时密码被泄露。如果数据库被盗,知道密码的长度是一个很大的安全隐患。