我想在Windows Phone 8.1 c#xaml上使用SHA 256加密。 但我收到以下错误: 在模块mscorlib.dll中找不到类型System.Security.Cryptography.HashAlgorithm
事实上,System.Security.Cryptography在Windows Phone(或Windows 8商店)上不可用。 然而,Windows.Security.Cryptography可用,但我也找不到这个类。
我需要使用SHA 256加密?那有什么难得的吗?
由于
答案 0 :(得分:3)
如果您正在使用Universal App,那会有点困难。但是为了让你开始
using Windows.Security.Cryptography;
using Windows.Security.Cryptography.Core;
HashAlgorithmProvider hap = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256);
CryptographicHash ch = hap.CreateHash();
// read in bytes from file then append with ch.Append(data)
Windows.Storage.Streams.IBuffer b_hash = ch.GetValueAndReset(); // hash it
string hash_string = CryptographicBuffer.EncodeToHexString(b_hash); // encode it to a hex string for easy reading
你必须创建一个HashAlgorithmProvider并为它提供你想要使用的HashAlgorithm
请参阅所有支持的哈希的HashAlgorithmNames.
命名空间
然后从上面创建CryptographicHash
。
然后使用CryptographicHash
.Append(data)
然后你计算哈希值。
如果您愿意,可以将其编码为十六进制字符串。
我的哈希应用程序的无耻截图:)