有人可以为这个问题提出有效的解决方案吗?

时间:2019-10-31 17:15:31

标签: algorithm performance data-structures

我们获得了数百万用户名和密码的数据。我们可以将这些数据放入我们选择的数据结构中。 因此,只要有人注册了自己的服务,他/她的登录凭据(用户名和密码)就会保存在数组中,或者保存在开发人员选择的任何数据结构中。

现在,当某些用户尝试登录时,将检查其用户名和密码以用于授权目的。我们该怎么做?

应该使用哪种数据结构和哪种算法以使系统能够有效地验证密码?

1 个答案:

答案 0 :(得分:1)

在现实生活中,最好将用户名和密码存储到数据库中。

在纯文本字段中存储密码是一个可怕的想法。但是,就位置而言,在大多数情况下,您都会遇到将密码表示形式存储在数据库中是正确的做法。

通过表示,我的意思是您想使用盐(对于每个用户应该有所不同)和安全的1向算法对密码进行哈希处理,并将其存储起来,从而丢弃原始密码。然后,当您想要验证密码时,您可以对值进行哈希处理(使用相同的哈希算法和盐),并将其与数据库中的哈希值进行比较。

使用盐概念来避免彩虹表攻击。