【发布时间】:2019-05-28 04:25:03
【问题描述】:
我有一个类,它负责根据我发送给它的内容生成哈希。但是,SHA256Managed.Create(text) 方法的返回总是返回null。
以下是我的代码:
using System.Security.Cryptography;
using System.Text;
namespace Autenticacao_no_ASP_.NET_MVC.Utils
{
public class Hash
{
public static string GerarHash(string texto)
{
SHA256 sha256 = SHA256Managed.Create(texto);
byte[] bytes = Encoding.UTF8.GetBytes(texto);
byte[] hash = sha256.ComputeHash(bytes);
StringBuilder result = new StringBuilder();
for (int i = 0; i < hash.Length; i++)
{
result.Append(hash[i].ToString("X"));
}
return result.ToString();
}
}
}
sha256 返回 null。
【问题讨论】:
-
FIPS 模式是否激活?
-
我在哪里可以检查这个?
-
好的,您传递给 Create() 的字符串可以是以下之一:
SHA256Managed、SHA256Cng、SHA256CryptoServiceProvider。见docs.microsoft.com/en-us/dotnet/api/… -
SHA256Managed.Create(texto)是错误的。您在这里告诉它要使用的算法的名称,但texto不是算法的名称。 -
是的,您可以尝试从您的
Create()呼叫中删除texto。
标签: c# asp.net asp.net-mvc sha256