【问题标题】:Can I use user id as account number我可以使用用户名作为帐号吗
【发布时间】:2025-11-29 23:45:04
【问题描述】:

我的用户少于百万。我使用 MySQL,表从 100000(6 位)创建自动增量。如果我使用用户 ID 作为小型 Web 应用程序的帐号有任何问题。实践中最好的方法是什么?

【问题讨论】:

  • 完全取决于您如何处理帐号。没有通用的答案。

标签: mysql


【解决方案1】:

相当未指定帐号的确切含义。一般来说,您可以使用它,但在我看来,用户 ID 是一种技术信息,不应从系统外部向客户提供(出于安全原因)。我建议为每个用户创建一个 GUID 或任何其他生成的(不可预测的)id,然后将其用作帐号以提供“外部”。使用这种方法,任何用户都无法“预测”另一个用户的 ID。

【讨论】:

  • GUID 提供给用户的时间可能有点长,但我同意尽可能避免公开内部 id 值。
【解决方案2】:

通常,即使重叠很明显,我也会将业务逻辑与应用程序逻辑分离。数据库中密钥生成的方式可能会留下空白和/或您的应用程序可能无法在需要的时候生成密钥。一个简单的密钥生成器(可能是同步的)可能会更好。也就是说,这里有more in this dialog 供你思考。

【讨论】: