1

我正在尝试为我在 C# 中制作的 Windows Web 应用程序生成一个唯一的 GUID。有人对我如何做到这一点有建议吗?我需要一个不依赖于系统操作系统(Mac、Windows、Linux)的唯一机器 GUID。我从哪里开始?

4

3 回答 3

4

根据定义,GUID 是唯一的。您可以使用以下内容生成新的 GUID:

var guid = Guid.NewGuid();
于 2012-07-25T04:25:09.257 回答
1

我正在使用系统的网络 ID,这就是我所做的:

Guid macAddressGuid;
NetworkInterface[] networkInterface = NetworkInterface.GetAllNetworkInterfaces();
string id = networkInterface.FirstOrDefault().Id;

Guid.TryParse(id, out macAddressGuid);

return macAddressGuid;

你们中的一些人可能会说这可以被欺骗并且它可以,但是在我正在构建的应用程序类型中,由于应用程序的性质,这不是一个大的安全问题。如果用户希望获得更好的安全性,他们可以注册。

谢谢大家的投入,我真的很感激。

于 2012-07-25T16:35:46.260 回答
0

有一个由 Windows 安装程序创建并存储在 Windows 注册表中的 GUID。但你不能相信这是独一无二的。对于其他平台,可能有也可能没有类似的东西,具体取决于操作系统。您最终将自己为系统创建和管理 GUID。

于 2012-07-25T04:03:20.570 回答