Maison >Java >javaDidacticiel >Pourquoi mes octets déchiffrés initiaux sont-ils incorrects après le décryptage Java AES/CBC ?
Octets initiaux incorrects après le décryptage Java AES/CBC
Le code Java fourni tente d'effectuer le cryptage et le décryptage AES/CBC. Cependant, les octets initiaux de la chaîne déchiffrée sont corrompus. Pour résoudre ce problème, il est essentiel de considérer les sources potentielles du problème.
Le nœud du problème vient de l'initialisation incorrecte du chiffre de décryptage. Plus précisément, le code ne parvient pas à définir le vecteur d'initialisation (IV) pour le chiffre de décryptage. Le IV est un paramètre critique utilisé pour initialiser le chiffrement par bloc, et son absence peut conduire à un déchiffrement incorrect.
Pour remédier à cela, le code doit définir explicitement le IV avant d'initialiser le chiffrement de décryptage :
IvParameterSpec ivParameterSpec = new IvParameterSpec(aesKey.getEncoded()); decryptCipher.init(Cipher.DECRYPT_MODE, aesKey, ivParameterSpec);
En définissant le paramètre IV, le code garantit que le processus de décryptage est effectué correctement, ce qui entraîne une récupération précise du texte brut d'origine sans aucun octet initial. corruption.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!