0 Pregunta: RijndaelManaged descifrar cifrado con clave de 8 bytes

pregunta creada en Wed, May 8, 2019 12:00 AM

Tengo el siguiente código que funciona perfectamente cifrando y descifrando en net framework, incluso con una clave no válida para RijndaelManaged, pero ahora en netCore no funciona porque necesita una clave de 16 bytes, quiero recrear la clave que La biblioteca en net frameworks crea una expansión clave para descifrar en una aplicación net core, pero ahora no sé cómo

Encontré un problema similar pero en PHP aquí RijndaelManaged.CreateEncryptor expansión de clave , pero es dice "solo corta los últimos 2 bytes" pero ¿de qué? ¿Y cómo completo el resto de bytes?

//Code tha works in the framework app
///8 bytes
_key = System.Text.ASCIIEncoding.UTF8.GetBytes("abcdefgh");

//16 bytes
_iv = System.Text.ASCIIEncoding.UTF8.GetBytes("abcdefghijklmnop");
_provider = new RijndaelManaged();
_provider.Mode = CipherMode.CBC;
_provider.KeySize = 128;
_provider.CreateEncryptor(_key, _iv)
    
0
  1. Um, sí, un algoritmo de cifrado de 128 bits SÍ necesita una clave de 128 bits. Si insiste en usar una cadena como su clave, hágala pasar primero por un algoritmo de hash y saque sus 16 bytes de la salida. Aún tiene WAY menos de 128 bits de entropía para su cifrado.
    2019-05-08 16: 28: 17Z
  2. En cuanto a hacer que una biblioteca sea compatible con su código actual, ¿ha intentado llenar los 8 bytes restantes?
    2019-05-08 16: 29: 09Z
  3. Sí, necesita una clave de 128 bits, pero por alguna razón funciona con una clave de 64 bits en la biblioteca del framework de red debido a una "característica" que amplía la clave, sí lo intenté rellenando con cero los últimos 8 bytes y al principio también, pero no funciona
    2019-05-08 18: 49: 10Z
  4. Las otras opciones que se pueden intentar son repetir la cadena dos veces o tomar los últimos 8 bytes del IV. Si no funcionan, tendrá que morder la bala y cambiar el código /algoritmo anterior para que funcione correctamente (pero perderá la compatibilidad con las contraseñas existentes).
    2019-05-09 08: 31: 25Z
  5. Un poco de investigación más adelante, y esto puede ser útil para usted: docs.microsoft.com/en-us/dotnet/api/…
    2019-05-09 08: 38: 40Z
0 Respuestas                              0                         
fuente colocada aquí