寻找一种方法在C#中从字符串中执行以下操作。C#SHA-2(512)Base64编码哈希
public static String sha512Hex(byte[] data)
计算的SHA-512消化,并返回值作为十六进制字符串。
参数: 数据 - 消化 返回: SHA-512摘要作为一个十六进制字符串
private static string GetSHA512(string text)
{
UnicodeEncoding UE = new UnicodeEncoding();
byte[] hashValue;
byte[] message = UE.GetBytes(text);
SHA512Managed hashString = new SHA512Managed();
string encodedData = Convert.ToBase64String(message);
string hex = "";
hashValue = hashString.ComputeHash(UE.GetBytes(encodedData));
foreach (byte x in hashValue)
{
hex += String.Format("{0:x2}", x);
}
return hex;
}
没有按照我的希望工作。该文件指出,我需要将字符串转换为“SHA-2(512)Base64编码散列” – 2011-04-14 17:21:19
仅供参考...我很感激帮助,我不会让它过去这家公司也弄乱他们的文档。 – 2011-04-14 17:29:17
是的,好吧,我没有仔细阅读标题,你应该在你的问题中提及“-2”部分。不知道在.NET中是否有SHA-2 512位实现,但可能是。 – 2011-04-14 17:39:35