在Windows Phone 8.1上找不到类型System.Security.Cryptography.SHA256

时间:2014-11-17 09:31:24

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

我想在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加密?那有什么难得的吗?

由于

1 个答案:

答案 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)

然后你计算哈希值。

如果您愿意,可以将其编码为十六进制字符串。


我的哈希应用程序的无耻截图:)

Click Here for Fullsize Image enter image description here