And*_*rus 20 asp.net-mvc cryptography sha sha512 .net-6.0
在 .NET 6 代码中,如何对 C# 中的字符串进行 SHA512?
var data = Encoding.UTF8.GetBytes("key");
byte[] hash;
using (SHA512 shaM = new SHA512Managed())
hash = shaM.ComputeHash(data);
Run Code Online (Sandbox Code Playgroud)
引发警告
Warning SYSLIB0021 'SHA512Managed' is obsolete:
'Derived cryptographic types are obsolete.
Use the Create method on the base type instead.'
Run Code Online (Sandbox Code Playgroud)
Visual Studio 2022 不为此提供代码更改。如何在 .NET 6 中用正确的代码替换此代码?
代码从 ASP.NET MVC 控制器调用。
小智 21
public string CreateSHA512(string strData)
{
var message = Encoding.UTF8.GetBytes(strData);
using (var alg = SHA512.Create())
{
string hex = "";
var hashValue = alg.ComputeHash(message);
foreach (byte x in hashValue)
{
hex += String.Format("{0:x2}", x);
}
return hex;
}
}
Run Code Online (Sandbox Code Playgroud)
你可以使用这个方法
public string GetSha256Hash(string input)
{
using (var hashAlgorithm = SHA512.Create())
{
var byteValue = Encoding.UTF8.GetBytes(input);
var byteHash = hashAlgorithm.ComputeHash(byteValue);
return Convert.ToBase64String(byteHash);
}
}
Run Code Online (Sandbox Code Playgroud)