Windows Phone 8.1中的设备唯一ID

Moh*_*jNK 27 c# windows-phone windows-phone-8.1 win-universal-app

如何在Windows Phone 8.1中获取设备唯一ID?旧的使用方式DeviceExtendedProperties.GetValue("DeviceUniqueId")不适用于Windows Universal应用程序.

tho*_*uka 31

private string GetDeviceID()
{
    HardwareToken token = HardwareIdentification.GetPackageSpecificToken(null);
    IBuffer hardwareId = token.Id;

    HashAlgorithmProvider hasher = HashAlgorithmProvider.OpenAlgorithm("MD5");
    IBuffer hashed = hasher.HashData(hardwareId);

     string hashedString = CryptographicBuffer.EncodeToHexString(hashed);
     return hashedString;
}
Run Code Online (Sandbox Code Playgroud)

希望这有帮助!

  • 我将"MD5"替换为[HashAlgorithmNames.Md5](http://msdn.microsoft.com/en-us/library/windows.security.cryptography.core.hashalgorithmnames.md5.aspx). (9认同)

Rom*_*asz 23

请注意,当您编写通用应用程序时,它不仅可以安装在手机上.虽然在电话上技术上硬件配置是相同的,但在其他设备上它可以改变它的ID.我认为没有这种普遍的方法来获取ID.(您也可以在这里找到更多信息).

您可以查看HardwareIdentification类及其方法GetPackageSpecificToken:

HardwareToken myToken = HardwareIdentification.GetPackageSpecificToken(null);
IBuffer hardwareId = myToken.Id;
Run Code Online (Sandbox Code Playgroud)

还有一个使用应用程序特定硬件ID(ASHWID)来实现每个设备应用程序逻辑的指南.

  • 如果您想使用它,您必须记住,当您更改应用程序签名证书时,此ID将会更改 (2认同)