Fro*_*y Z 6 database language-agnostic security database-design login
关于密码管理的这个问题的第一个和接受的答案建议加密DB中的用户标识符.
好处是,如果有人获得密码,他必须知道如何解密用户登录以获得完整的登录/密码对.
我看到的一些缺点,例如:
LIKE '...%'ORDER BY 登录领域可能也很难......你会推荐什么(加密用户标识符)?
像往常一样,答案是"它取决于".
一般来说,我会说如果攻击者可以访问您的数据库,那么您的安全状况就会严重受损,加密密码可能对您没有好处.这是使用单向散列不同 - 它可能是谁拥有你的数据库访问权限的攻击者也可以访问您的解密密钥,而单向散列,顾名思义,是一种方式.
正如您所说,您可能需要定期访问userID(例如,如果您使用电子邮件地址作为用户ID); 在这种情况下,再次,可以读取您的数据库的攻击者可能会拦截未加密的数据.
因此,如果您在银行,政府或数据安全必须位于列表顶部的任何其他地方工作,这种额外的保护可能是值得的,特别是如果您拥有强大的密钥管理系统.
对于其他用途,我认为额外的安全性太小,不值得额外的痛苦.