Déchiffrement de fichiers en Java cryptés avec l'AES d'OpenSSL en mode CBC
OpenSSL crypte les fichiers à l'aide d'une méthode de dérivation de clé de mot de passe basée sur le sel et d'un MIME base64 codage. Pour décrypter ces fichiers en Java, respectez les étapes suivantes :
Générer Salt et Key :
salt = random(8) keyAndIV = EVP_BytesToKey(password, salt, 48) key = keyAndIV[0..31] iv = keyAndIV[32..47]
Extraire le sel et le texte chiffré :
À partir du code en base64 fichier :
Déchiffrer :
aesCBC.init(Cipher.DECRYPT_MODE, key, iv) plaintext = aesCBC.doFinal(ciphertext)
OpenSSL EVP_BytesToKey Mise en œuvre :
public static byte[][] EVP_BytesToKey(int key_len, int iv_len, MessageDigest md, byte[] salt, byte[] data, int count) { // ... }
Méthode de décryptage principale :
public static void main(String[] args) { // ... }
Notes supplémentaires :
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!