Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#返回值SHA256Managed为空_C#_Asp.net_Asp.net Mvc_Sha256 - Fatal编程技术网

C#返回值SHA256Managed为空

C#返回值SHA256Managed为空,c#,asp.net,asp.net-mvc,sha256,C#,Asp.net,Asp.net Mvc,Sha256,我有一个类,它负责根据我发送给它的内容生成散列。但是,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(stri

我有一个类,它负责根据我发送给它的内容生成散列。但是,
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();
        }
    }
}
使用System.Security.Cryptography;
使用系统文本;
命名空间Autenticacao\u no\u ASP\u.NET\u MVC.Utils
{
公共类散列
{
公共静态字符串GerarHash(字符串texto)
{
SHA256 SHA256=SHA256Managed.Create(texto);
byte[]bytes=Encoding.UTF8.GetBytes(texto);
字节[]哈希=sha256.ComputeHash(字节);
StringBuilder结果=新建StringBuilder();
for(int i=0;i
正在返回null的sha256


创建SHA256的首选方法(使用SHA256选择实现):

Create
的参数是算法的名称——除非使用基类选择要使用的算法,否则实际上不需要传递一个。要修复代码,请删除或使用正确的参数:

SHA256 sha256 = SHA256Managed.Create(); 

请注意,这两个调用实际上都是由base
SHA256
类实现的,首先选择“default”实现


请参阅以供参考

FIPS模式是否处于活动状态?我在哪里可以检查此项?好的,传递给Create()的字符串可以是以下字符串之一:
SHA256Managed
SHA256Cng
SHA256CryptoServiceProvider
。请参阅
SHA256Managed.Create(texto)
错误。您正在告诉它此处要使用的算法名称,但
texto
不是算法名称。是的,您可以尝试从
Create()
调用中删除
texto
。是的,它是这样发生的:SHA256Managed.Create(text),正确的是SHA256Managed.Create()。非常感谢。祝大家新年快乐!
SHA256 sha256 = SHA256Managed.Create(); 
SHA256 sha256 = SHA256Managed.Create("SHA256");