es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo calcular correctamente el hash sha 512 en .NET 6.

En el código .NET 6 de http://stackoverflow.com/questions/11367727/how-can-i-sha512-a-string-in-c:

var data = Encoding.UTF8.GetBytes("key");
byte[] hash;
using (SHA512 shaM = new SHA512Managed())
  hash = shaM.ComputeHash(data);

Genera una advertencia:

Advertencia SYSLIB0021  'SHA512Managed' está obsoleto: 
'Los tipos criptográficos derivados están obsoletos. 
En su lugar, use el método Create en el tipo de base.'

Visual Studio 2022 no ofrece cambios de código para esto. ¿Cómo reemplazar este código con código apropiado en .NET 6?

El código se llama desde un controlador de ASP.NET MVC.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para reemplazar el código desaprobado en .NET 6, debes utilizar el método Create() en el tipo base en lugar de usar el constructor SHA512Managed().

    Aquí tienes un fragmento de código actualizado:

    var data = Encoding.UTF8.GetBytes("clave");
    byte[] hash;
    using (SHA512 shaM = SHA512.Create())
        hash = shaM.ComputeHash(data);
    

    Esto debería resolver la advertencia y proporcionar una funcionalidad adecuada para SHA512 en .NET 6.

    Además, dado que el código se llama desde un controlador de ASP.NET MVC, puedes colocar este código dentro del método de acción adecuado para manejar la lógica.

Comments are closed.