我在看 Mongodb ObjectId 对象。暴露给我的客户(甚至是他自己的 SessionId)似乎是不安全的对象。虽然我使用以下代码生成随机 ObjectId:
var timestamp = DateTime.UtcNow;
var machine = _random.Next(10000, 75757575);
var pid = (short)_random.Next(10000, 75757575);
var increment = _random.Next(10000, 75757575);
return new ObjectId(timestamp, machine, pid, increment);
我有时会得到连续的 id,我不希望用户能够猜测 100 万个 id 并最终抓住一个真实的。
有没有办法在 c# 上仍然使用 mongodb 并维护一个安全的 id?现在,有人说“使用 https”,但这不是问题。有人可以登录网络,获取 ObjectId 类型的 sessionId 并尝试猜测。
我怎样才能减少发生这种事情的可能性?