gpt4 book ai didi

asp.net - 如何在不使用数据库中的主键的情况下为用户提供唯一 ID?

转载 作者:行者123 更新时间:2023-12-04 00:47:56 25 4
gpt4 key购买 nike

如果我有 10,000 个用户并且主键是一个从 1 到 10,000 的唯一 ID,有没有办法给他们一个唯一的 ID,这样就无法从中推断出原始主键?

例如,链接到您的 Facebook 个人资料或类似内容将是 http://site.com/profile?id=293852

有没有可能id和他们用户在数据库中的主键一样?我正在努力想出一种方法来拥有两个不相关的唯一 ID 列,因为随机生成的列必须是唯一的。我想如果有可能只使用数字的 GUID 长度会太长。

和想法?

最佳答案

您通常有两种选择:

  1. 如您所说,使用随机生成的数据。 (您只需要确保它们是唯一的,即要么足够长,要么生成-验证-重试。)
  2. 获取主键并将其“伪随机”转换为其他似乎与主键无关的东西。转换可能非常简单(如果您只需要温和的保护),例如new Random(primaryKey).NextInt(),或者它可能相当复杂,但可以抵御攻击,例如任何一种Format-preserving encryption .

但是……为什么您认为应该保护主键的值?如果唯一的原因是防止用户猜测其他有效用户 ID,您可以将一个随机字符串附加到主键(并将其存储在数据库中并在访问时验证其正确性)。

关于asp.net - 如何在不使用数据库中的主键的情况下为用户提供唯一 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4991222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com