根据这篇MSDN文章,在HMACSHA256上的System.Security.Cryptography命名空间中存在一个用于生成WP8哈希代码的类。但是,.Cryptography命名空间似乎不存在。我的项目有问题吗?还是这个文档有问题?还有其他方法可以在HMACSHA256上计算WP8散列吗?
http://msdn.microsoft.com/library/windows/apps/system.security.cryptography.hmacsha256(v=vs.105).aspx
发布于 2014-07-21 05:25:42
在经历了很多痛苦之后,我有了一种有效的功能。
public static string HmacSha256(string secretKey, string value)
{
// Move strings to buffers.
var key = CryptographicBuffer.ConvertStringToBinary(secretKey, BinaryStringEncoding.Utf8);
var msg = CryptographicBuffer.ConvertStringToBinary(value, BinaryStringEncoding.Utf8);
// Create HMAC.
var objMacProv = MacAlgorithmProvider.OpenAlgorithm(MacAlgorithmNames.HmacSha256);
var hash = objMacProv.CreateHash(key);
hash.Append(msg);
return CryptographicBuffer.EncodeToHexString(hash.GetValueAndReset());
}发布于 2014-07-17 10:02:53
Windows Phone 8.1应用程序有两种类型:基于Silverlight的应用程序(如WP7.X和WP8.0)和基于通用/RT/木星格式的应用程序(也被Windows8.1使用)。
System.Security.Cryptography名称空间仅适用于Silverlight应用程序,如果使用更新/其他格式,则不可用。
是的,不幸的是,文档没有清楚地说明这一点。
https://stackoverflow.com/questions/24792142
复制相似问题