是否可以在一个应用程序中创建相同的guid
Guid id = Guid.NewGuid();
Run Code Online (Sandbox Code Playgroud)
Øyv*_*hen 14
从技术上讲,是的.创建的Guid看起来像这样:
26de36b7-76f5-4f17-8f9d-44eb429f151b
Run Code Online (Sandbox Code Playgroud)
这意味着32个字符可以是一个字母(26种可能性)或一个数字(10种可能性)
这意味着每个位置有36个可能,总共36 ^ 32即约.6 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000.
这意味着,如果你每毫秒创造2 000 000 000 000 000 000 000 000 000 000 000 Guid(这是不可能的),你平均会得到两次创建两次相同的guid,所有其他guid将是唯一的.
所以在实践中.不;)
如果你问的是Guid.NewGuid()创建重复guid 的风险是否很高,那么答案是否定的.这取自维基百科:
GUID的值表示为32个字符的十六进制字符串,例如{21EC2020-3AEA-1069-A2DD-08002B30309D},通常存储为128位整数.唯一密钥的总数是2128或3.4×1038 - 大约2万亿每立方毫米的整个地球体积.这个数字太大,以至于两次生成相同数字的概率非常小.
如果您问我们如何创建两个重复的guid,那么这就是答案:
Guid g1 = new Guid("21EC2020-3AEA-1069-A2DD-08002B30309D");
Guid g2 = new Guid("21EC2020-3AEA-1069-A2DD-08002B30309D");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3257 次 |
| 最近记录: |