如何在不保存数据库密码的情况下验证用户身份

时间:2015-02-21 12:35:39

标签: security authentication passwords onlinebanking

我正在开发一个银行演示应用程序。在我所在的地区,用户登录他们的银行网站并根据他们拥有的两个字段进行一些交易(您可以假设两个密码 - 我们称之为cvv2和Second-Password)。这两个密码仅用于互联网或移动交易。

我确信他们不会将这些密码保存在数据库中;因为如果他们将这些密码保存在数据库中,那么数据库管理员可以使用它们并在没有真正用户许可的情况下进行虚假交易。

顺便提一下,问题是银行及其网站如何对用户进行身份验证,并在未将这些密码保存在数据库中时检查输入的字段(两个密码)是否正确。

1 个答案:

答案 0 :(得分:0)

如今大多数银行系统都不依赖于简单的密码,它们具有双因素身份验证功能。例如,这可以是使用您的信用卡生成代码的独立设备,或者至少是TAN列表。

当他们存储密码(通常与其他安全措施结合使用)时,您可以确保他们存储密码的哈希。哈希是单向的,你无法从中获取原始密码。用于存储密码的良好哈希算法是BCrypt,PBKDF2或SCrypt,因为它们提供了成本因子。如果您有兴趣阅读有关该主题的更多信息,可以查看我的tutorial安全存储密码。

相关问题