存储用户名和密码的最佳方式

Posted

技术标签:

【中文标题】存储用户名和密码的最佳方式【英文标题】:Best way to store usernames and passwords 【发布时间】:2021-04-25 10:51:42 【问题描述】:

我正在学习安全课程,我们刚刚了解到您永远不应该实际存储用户的密码。相反,您应该对其进行哈希处理并将其与他们的用户名一起存储。

这让我开始思考,如果我正在构建一个网络应用程序并想要存储用户名和密码 - 我应该在哪里/如何存储它们?

我认为哈希映射在这种情况下会很有用,因为您有一个键(用户名)和一个值(哈希密码),但我想知道这是否是一个好的数据结构,或者是否有更好的数据结构方法。

【问题讨论】:

【参考方案1】:

如果你想使用一个键来查找一个值——这里是一个使用用户名的密码,那么你需要一个关联容器,也就是映射。该映射的实现是否使用哈希表(即它是哈希映射,例如 C++ 的 std::unordered_map 说)或平衡二叉树(例如 std::map - 它们都可能很快)并不重要对于大多数用途来说已经足够了。如果您有数十亿用户,那么哈希表将在性能方面领先,但如果是这种情况,您可以聘请一些有经验的程序员,我敢肯定,他们会在很长一段时间内有更大的担忧。

【讨论】:

以上是关于存储用户名和密码的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章

在安卓应用中存储用户名和密码的最佳选择

存储和更新外部 API 密码的最佳实践

在.net core mvc应用程序上存储用户密码的最佳方法[重复]

存储 oauth 和本地身份验证方法的最佳实践?

用户密码盐的最佳长度是多少? [关闭]

每个用户存储大数据的最佳方式是啥? [关闭]