Is there a greater chance to collide when comparing GUIDs created differently?的后续行动。
我有这样的事情:
using( MD5 md5 = MD5.Create() ) {
var hash = md5.ComputeHash( foo );
var hashguid = new Guid( hash );
}
这可以保证相同的foo
会导致GUID冲突,并允许过滤foo
的重复项。
是否有任何问题hashguid
更有可能与使用Guid.NewGuid()
生成的GUID发生冲突(与Guid.NewGuid()
生成的两个GUID相比)?
答案 0 :(得分:0)
与哈希输入的冲突机会相比,密码强哈希算法不会显着增加冲突的可能性。这很安全。
通过以某种方式构建指南,没有实际降低碰撞风险。随机生成的guid的碰撞几率非常低,即使是火星漫游者也可以依靠它不会发生。
MD5是一个破碎的算法,我不会称之为密码强。我不明白为什么人们仍然使用MD5。在破裂10年后,这种常识不是吗?!考虑使用SHA256并将输出截断为128位。