首页 > 解决方案 > 数据库中的登录名和密码存储

问题描述

我正在创建一个简单的聊天,我想添加用户登录功能。

我有一个问题:我应该将登录名和密码(哈希+盐)存储在与消息和其他聊天内容相同的数据库中,但存储在不同的表中,还是有更好的方法为其创建另一个数据库?

请告诉我如何以及为什么。非常感谢

标签: databaseauthenticationpasswordsauthorization

解决方案


我应该将登录名和密码(哈希+盐)存储在与消息和其他聊天内容相同的数据库中,但存储在不同的表中吗?

是的,如果它们在同一个数据库中,它们必须在另一个表中,例如“用户”。例如,您将有一个名为 users 的表和一个名为 message 的表。密码必须像您拥有的任何其他敏感数据一样加密。例如:消息是私密的吗?可能。所以他们最好加密。您不希望具有数据库访问权限的人阅读所有聊天内容。

或者有没有更好的方法来为它创建另一个数据库?

如果您的系统架构是微服务,那么您的登录/用户数据很有可能应该在另一个数据库中。这将意味着数据重复,但更易于维护。但是,这实际上取决于您的系统设计。对于非常小的应用程序,我不会使用微服务,除非您希望应用程序在某个时候增长,新功能..等等。


推荐阅读