0 Question: RijndaelManaged déchiffrer chiffré avec une clé de 8 octets

question créée à Wed, May 8, 2019 12:00 AM

J'ai le code suivant qui fonctionne parfaitement pour chiffrer et déchiffrer dans un cadre réseau même avec une clé non valide pour RijndaelManaged, mais maintenant, dans le netCore, il ne fonctionne pas car il nécessite une clé de 16 octets. Je souhaite recréer la clé la bibliothèque dans les cadres de réseau fait avec une extension clé pour décrypter dans une application de base du réseau, mais je ne sais pas comment

J'ai trouvé un problème similaire mais en PHP, RijndaelManaged.CreateEncryptor, extension de clé dit "juste couper les 2 derniers octets" mais de quoi? et comment je complète le reste des octets?

//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. Euh, oui, un algorithme de chiffrement à 128 bits DOIT avoir besoin d'une clé à 128 bits. Si vous insistez pour utiliser une chaîne comme clé, exécutez-la d'abord avec un algorithme de hachage, puis utilisez vos 16 octets dans la sortie. Il vous reste WAY moins de 128 bits d’entropie pour votre cryptage.
    2019-05-08 16: 28: 17Z
  2. Pour ce qui est de rendre une bibliothèque compatible avec votre code actuel, avez-vous essayé de ne pas utiliser les 8 octets restants?
    2019-05-08 16: 29: 09Z
  3. Oui, il faut une clé de 128 bits, mais pour une raison quelconque, il fonctionne avec une clé de 64 bits dans la bibliothèque du framework net à cause d'une "fonctionnalité" qui développe la clé, oui j'ai essayé remplir avec zéro les 8 derniers octets et au début aussi, mais ça ne marche pas
    2019-05-08 18: 49: 10Z
  4. Les autres options à essayer sont de répéter la chaîne deux fois ou de prendre les 8 derniers octets du IV. S'ils ne fonctionnent pas, vous devrez vous en sortir et modifier l'ancien code /algorithme pour qu'il fonctionne correctement (tout en perdant la compatibilité avec les mots de passe existants).
    2019-05-09 08: 31: 25Z
  5. Un peu de recherche plus tard, et cela peut vous être utile: docs.microsoft.com/en-us/dotnet/api/…
    2019-05-09 08: 38: 40Z
0 réponses                              0                         
source placée ici