我有点奇怪的困境。请耐心等待我尝试解释它!
我正在使用表单身份验证并将其他用户信息存储在另一个表中(从 Forms Auth 引用的 UserID、加密的 SSN、Salt 值)。当用户注册到该站点时,我会询问 SSN、DOB 和 LName,并在他们创建帐户之前对我们的系统进行验证。我想确定该 SSN 在表单身份验证中是否有与之关联的帐户。由于 SSN 是使用盐值加密的,因此我无法在不查看每一行的情况下进行查找。
我只想要每个 SSN 1 个用户帐户。使用盐值会破坏这一点。
在我看来,解决这个问题的唯一方法是对 SSN 使用通用加密算法。当用户输入它时,我应用相同的加密算法并查看用户扩展属性表中是否存在值匹配。
这足够安全吗?