Métodos para Encriptar y Desencriptar C#

En esta oportunidad presentamos 2 métodos para proteger los datos en sus desarrollos. Los métodos contienen una llave escrita en duro “qualityinfosolutions” que es la que nos permite Encriptar y luego Desencriptar nuestros datos, si las llaves no coinciden no podrán utilizar ambos métodos por lo que es recomendable manejar esta llave como una variable global.

Método de Encriptación

Método de Desencriptación

Saludos

CC BY-NC-ND 4.0 Métodos para Encriptar y Desencriptar C# by QualityInfoSolutions is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

You may also like...

39 Responses

  1. Ric_Flo dijo:

    Al desencriptar los caracteres con acentos aparecen como caracteres raros. Hay manera de arreglar esto?

  2. grover dijo:

    muchas gracias

  3. mario dijo:

    como extraigo el return textoEncriptado;
    para pasárselo a un select.

    • Estimado supongamos que copiaste estos métodos en una clase llamada Util, en ese caso solo debes hacer lo siguiente.

      string texto_encriptado = Util.Encriptar(“Esto es una prueba”);

      string sql = “Select * FROM WHERE clave = ‘” + texto_encriptado + “‘”;

      ….

      O bien directamente

      string sql = “Select * FROM WHERE clave = ‘” + Util.Encriptar(“Esto es una prueba”) + “‘”;

      Saludos

  4. Sam dijo:

    Estoy encriptando una cadena de 16 caracteres lo cual al parecer lo hace bien y lo guarda en un la BD. La cadena encriptada tiene una longitud de 10, pero al desencriptar me da el error: “Longitud no válida para una matriz o cadena de caracteres Base-64.”

    Lo único diferente a tu código es que cambia mi key por una cadena de 16 caracteres.

    El campo en la BD es un nvarchar de 150 en SQL y al recuperarlo lo obtiene sin ningún problema ni variaciones.

    ¿Hago algo más?

    • Estimado usas la misma clave para encriptar y desencriptar?

      • Sam dijo:

        Así es, es la misma cadena.

        ¿Puede contener números y caracteres especiales?

        Como te decía, encripta bien, el problema es desencriptar.

        ¿Podría interferir en algo que sea nvarchar de 150 en SQL?

        • Justamente te iba a preguntar como lo almacenas, no recuerdo en estos momentos el tamaño del string, pero si se que es mas de 150, prueba dejándolo en MAX.

          • Sam dijo:

            Lo intenté pero no funcionó. La cadena encriptada se reduce de 16 a 10 y al desencriptar me da el error: “Longitud no válida para una matriz o cadena de caracteres Base-64”.

            ¿Alguna sugerencia?

  5. Victor Concha dijo:

    Estupendo!!!, me ha servido bastante, gracias

  6. Killer dijo:

    Pensaba que entre este código y el de Android Studio eran compatibles… veo que no. una pena…
    Si encriptas en Android y quierres desencriptar en c# salta error de datos incorrectos.

Agregar un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *

Contáctenos