PCLCrypto MD5 哈希算法
PCLCrypto MD5 HashAlgorithm
由 HashData
编辑的值 return 不是 Md5 哈希示例:
哈希 "a" 总是 return “0cc175b9c0f1b6a831c399e269772661
”
但是这段代码总是 return 不同的值。
private byte[] GetHash(string data)
{
IHashAlgorithmProvider algoProv = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Md5);
byte [] dataTB = Encoding.UTF8.GetBytes(data);
return algoProv.HashData(dataTB);
}
我测试了 PCLCrypto
的 MD5
算法,它按预期工作。始终打印“0cc175b9c0f1b6a831c399e269772661
”
for (int i = 0; i< 10; i++)
{
Debug.WriteLine(ByteArrayToHex((GetHash("a"))));
}
public static byte[] GetHash(string data)
{
IHashAlgorithmProvider algoProv = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Md5);
byte[] dataTB = Encoding.UTF8.GetBytes(data);
return algoProv.HashData(dataTB);
}
//Convert hash to hex
private static string ByteArrayToHex(byte[] hash)
{
var hex = new StringBuilder(hash.Length * 2);
foreach (byte b in hash)
hex.AppendFormat("{0:x2}", b);
return hex.ToString();
}
由 HashData
编辑的值 return 不是 Md5 哈希示例:
哈希 "a" 总是 return “0cc175b9c0f1b6a831c399e269772661
”
但是这段代码总是 return 不同的值。
private byte[] GetHash(string data)
{
IHashAlgorithmProvider algoProv = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Md5);
byte [] dataTB = Encoding.UTF8.GetBytes(data);
return algoProv.HashData(dataTB);
}
我测试了 PCLCrypto
的 MD5
算法,它按预期工作。始终打印“0cc175b9c0f1b6a831c399e269772661
”
for (int i = 0; i< 10; i++)
{
Debug.WriteLine(ByteArrayToHex((GetHash("a"))));
}
public static byte[] GetHash(string data)
{
IHashAlgorithmProvider algoProv = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithm.Md5);
byte[] dataTB = Encoding.UTF8.GetBytes(data);
return algoProv.HashData(dataTB);
}
//Convert hash to hex
private static string ByteArrayToHex(byte[] hash)
{
var hex = new StringBuilder(hash.Length * 2);
foreach (byte b in hash)
hex.AppendFormat("{0:x2}", b);
return hex.ToString();
}