草庐IT

UuidCreate

全部标签

.net - System.Guid.NewGuid() 是否总是通过 Windows 上的 UuidCreate() 实现?

当我用C#或VB.NET或其他.NET系列语言编写的程序在Windows上运行并调用System.Guid.NewGuid()时,生成总是通过将调用转发给Windows提供的UuidCreate()还是有其他生成方式? 最佳答案 不,并非总是如此。根据它的文档,UuidCreate功能仅适用于WindowsServer2000及更高版本。至少有一个版本的.Net框架在Windows98上运行并且包含Guid类。因此它不可能使用UuidCreate。1.X肯定能在Windows98上运行,我不记得2.0了。嗯,我开始怀疑这是文档问题。

c# - UuidCreate 是否使用 CSPRNG?

请注意,这不是我的应用程序,它是我正在为客户测试的应用程序。我通常在https://security.stackexchange.com/上问这样的问题,但是因为这与编程相关,所以我在这里问过。当然,RFC4122对于UUID没有指定类型4UUID必须由加密安全伪随机数生成器(CSPRNG)生成。它只是说Setalltheotherbitstorandomly(orpseudo-randomly)chosenvalues.虽然,该算法的一些实现,例如thisoneinJava,请使用CSPRNG。我试图深入研究Microsoft的实现是否有效。主要围绕.NET或MSSQLServer如