C# SHA-2 (512) Base64 编码哈希
寻找一种在 C# 中从字符串执行以下操作的方法。
公共static String sha512Hex(byte[] data)
计算 SHA-512 摘要并以十六进制字符串形式返回该值。
参数: data - 要消化的数据 返回: 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;
}
Looking for a way to do the following in C# from a string.
public static String sha512Hex(byte[] data)
Calculates the SHA-512 digest and returns the value as a hex string.
Parameters:
data - Data to digest
Returns:
SHA-512 digest as a hex string
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;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
System.Security.Cryptography.SHA512 是您所需要的吗?
在 LINQPad 中执行会产生:
要根据您的问题创建方法:
Would System.Security.Cryptography.SHA512 be what you need?
Executed in LINQPad produces:
To create the method from your question:
得到这个工作。摘自这里并进行了一些修改。
Got this to work. Taken from here and modified a bit.
更好的内存管理:
Better memory management: