Rhi*_*X64 13 math guid probability
只是很好奇,但匹配Guid的概率是多少?
从SQL服务器说一个Guid:5AC7E650-CFC3-4534-803C-E7E5BBE29B3D
这是一个因素吗?:(36*32)!=(1152)!
讨论= D.
jas*_*son 27
目前尚不清楚你在问什么.我看到两种方式来解释你的问题.
鉴于GUID g,有人猜测它的概率是多少?为简单起见,我们假设GUID的所有128位都可用.然后猜测的概率g是2^-128.那很小.让我们对此有所了解.假设我们的攻击者每秒可以生成10亿个GUID.为了有50%的猜测机会g,我们的攻击者必须生成2 ^ 127个GUID.以每秒10亿的速率生成2 ^ 127个GUID需要5391448762278159040348年.
我们正在生成一系列guids.发生碰撞的可能性有多大?也就是说,我们生成具有相同值的两个guid的可能性是多少?这是生日悖论.如果你随机生成一系列n个GUID,那么至少有一次碰撞的概率是近似的p(n) = 1 - exp(-n^2 / 2 * 2^128)(这是生日问题,可能的生日数是2 ^ 128).
n p(n)
2^30 1.69e-21
2^40 1.77e-15
2^50 1.86e-10
2^60 1.95e-03
因此,即使您生成2 ^ 60个GUID,碰撞的几率也非常小.如果你每秒可以产生10亿个GUID,那么碰撞碰撞的可能性仍然需要36年才能达到1.95e-03.