寻找一种方法在C#中从字符串中执行以下操作.
public 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;
}
Run Code Online (Sandbox Code Playgroud)
ang*_*son 18
将System.Security.Cryptography.SHA512是你需要什么?
var alg = SHA512.Create();
alg.ComputeHash(Encoding.UTF8.GetBytes("test"));
BitConverter.ToString(alg.Hash).Dump();
Run Code Online (Sandbox Code Playgroud)
在LINQPad中执行产生:
EE-26-B0-DD-4A-F7-E7-49-AA-1A-8E-E3-C1-0A-E9-92-3F-61-89-80-77-2E-47-3F-88- 19-A5-D4-94-0E-0D-B2-7A-C1-85-F8-A0-E1-D5-F8-4F-88-BC-88-7F-D6-7B-14-37-32- C3-04-CC-5F-A9-AD-8E-6F-57-F5-00-28-A8-FF
要从您的问题创建方法:
public static string sha512Hex(byte[] data)
{
using (var alg = SHA512.Create())
{
alg.ComputeHash(data);
return BitConverter.ToString(alg.Hash);
}
}
Run Code Online (Sandbox Code Playgroud)
Tom*_*m S 10
有这个工作.从这里采取并修改了一下.
public static string CreateSHAHash(string Phrase)
{
SHA512Managed HashTool = new SHA512Managed();
Byte[] PhraseAsByte = System.Text.Encoding.UTF8.GetBytes(string.Concat(Phrase));
Byte[] EncryptedBytes = HashTool.ComputeHash(PhraseAsByte);
HashTool.Clear();
return Convert.ToBase64String(EncryptedBytes);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23314 次 |
| 最近记录: |