转换C#HMAC SHA256以在Windows 8.1通用应用程序上运行

时间:2015-02-12 22:39:55

标签: c# windows-phone-8.1 windows-8.1

尝试将此代码转换为适用于通用应用程序...

namespace Test
{
  public class MyHmac
  {
    private string CreateToken(string message, string secret)
    {
      secret = secret ?? "";
      var encoding = new System.Text.ASCIIEncoding();
      byte[] keyByte = encoding.GetBytes(secret);
      byte[] messageBytes = encoding.GetBytes(message);
      using (var hmacsha256 = new HMACSHA256(keyByte))
      {
        byte[] hashmessage = hmacsha256.ComputeHash(messageBytes);
        return Convert.ToBase64String(hashmessage);
      }
    }
  }
}

...而且我无法找到HMACSHA256(或类似类别)在新框架中的位置System.Security.Cryptography无法使用。

1 个答案:

答案 0 :(得分:0)

Windows应用商店应用的加密命名空间是Windows.Security.Cryptography 和Windows.Security.Cryptography.Core

新的哈希算法提供程序支持多种算法(包括SHA256)

这里有一些不错的例子https://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.security.cryptography.core.hashalgorithmprovider

-Achod