Les cryptages et décryptages suivants fonctionnent normalement en mode mysql (aes-256-cbc)
SET block_encryption_mode = 'aes-256-cbc'; select cast( aes_decrypt( from_base64('StThdNXA+CWvlg+of/heJQ=='), sha2(concat('ssshhhhhhhhhhh!!','ENCRYPTION_KEY$&'),256), 'ssshhhhhhhhhhh!!' ) as char); select to_base64(aes_encrypt( 'test_value', sha2(concat('ssshhhhhhhhhhh!!','ENCRYPTION_KEY$&'),256), 'ssshhhhhhhhhhh!!' ));
J'essaie de décrypter une valeur cryptée dans MySQL sans succès.
Ce qui suit est la clé de ma requête MySQL sha256 (sel+clé)
select sha2(concat('ssshhhhhhhhhhh!!','ENCRYPTION_KEY$&'),256);
Même valeur que celle que j'ai pu obtenir en java :
Hashing.sha256().hashString("ssshhhhhhhhhhh!!ENCRYPTION_KEY$&", StandardCharsets.UTF_8).toString();
Existe-t-il un moyen personnalisé pour que le château gonflable/d'autres API utilisent la même clé pour le décryptage ?
MySQL utilise l'algorithme OpenSSL en interne, en utilisant EVP_BytesToKey comme fonction de dérivation. Regardez ce site Web
Exemple de chiffrement et de décryptage MySQL :
Il existe un JAR qui prend en charge cette fonction de dérivation de clé EVP_BytesToKey.
}
De cette façon, l’interopérabilité est enfin atteinte ! J'espère que cela aidera quelqu'un qui essaie de faire la même chose.