我得到了一個生成隨機數的代碼。根據用戶ID生成唯一的隨機數
public string Get8Digits()
{
var bytes = new byte[4];
var rng = RandomNumberGenerator.Create();
rng.GetBytes(bytes);
uint random = BitConverter.ToUInt32(bytes, 0) % 100000000;
return String.Format("{0:D8}", random);
}
但我正在尋找一個例程,我將通過用戶ID和例程將生成基於用戶ID的唯一隨機數。在我的情況下,用戶ID可以像
a) 1,2,3,100,5000
b) C0001,C0002,C0003,C0010
d) AL62YU,B1N36W,ZU21PQ etc
如果你正在重複生成一個基於'userId'的數字,這個數字根據定義*不是隨機*。也許你應該解釋你使用的是什麼? – 2013-04-09 14:12:25
好的,所以在最壞的情況下,假設在現有ID中有6個字符的基本方案,我們正在查看0-2176782335的數字空間。這似乎大於您的第一個代碼片段中隱含的0-100000000的ID空間。因此,你所要求的顯然是不可能的。 – spender 2013-04-09 14:12:42