C# 唯一设备ID UWP

C# 唯一设备ID UWP,c#,windows-phone,win-universal-app,uniqueidentifier,C#,Windows Phone,Win Universal App,Uniqueidentifier,几天以来,我一直试图从我的Windows Phone设备上获取MAC地址,但都没有成功。我正在尝试为我的手机、平板电脑等获取唯一的ID。我找到了HardwareToken类和下面的代码 HardwareToken token = HardwareIdentification.GetPackageSpecificToken(null); IBuffer hardwareId = token.Id; HashAlgorithmProvi

几天以来,我一直试图从我的Windows Phone设备上获取MAC地址,但都没有成功。我正在尝试为我的手机、平板电脑等获取唯一的ID。我找到了HardwareToken类和下面的代码

HardwareToken token = HardwareIdentification.GetPackageSpecificToken(null);
                IBuffer hardwareId = token.Id;
                HashAlgorithmProvider hasher = HashAlgorithmProvider.OpenAlgorithm("MD5");
                IBuffer hashed = hasher.HashData(hardwareId);
                string hashedString = CryptographicBuffer.EncodeToHexString(hashed);

使用此代码,我收到了ASHWID。这真的是独一无二的吗?

ASHWID被认为是独一无二的。你完全可以信赖它。 查看这篇参考文章以深入了解ASHWID

使用此代码,我收到ASHWID。这真的很独特吗

视情况而定。在手机/平板电脑上比在桌面上更可能。您可以找到确切的答案:

ASHWID通过表示几个单独的硬件特性,在应用程序/软件包和设备之间提供了强大的绑定。为了保护用户隐私,ASHWID因应用而异除非底层硬件已更改,否则来自同一应用程序的两个调用将导致相同的ASHWIDs。但是,如果设备的硬件配置文件发生变化,例如用户拔下USB蓝牙适配器时,ASHWID会发生变化。后端云服务可以验证ASHWID,并将其与以前报告的值进行比较

接下来,您还应该首先检查实际设备上是否存在该API。尽管你也可以考虑他的建议——想想这是否真的是解决你问题的办法