set_include_path ( './ phpseclib0.2.1a'); //http://phpseclib.sourceforge.net/ включают в себя ( 'Crypt / AES.php'); $ plaintext = 'PLAINTEXT'; $ aes = новый Crypt_AES (CRYPT_AES_MODE_CBC); $ AES-> SetKey ( '1234123412341234'); $ ciphertext = $ aes-> encrypt ($ plaintext); $ fp = fopen ("enciphertextAES", "wb"); fwrite ($ fp, $ ciphertext); fclose ($ FP); --------------------------- openssl enc -aes-128-cbc -d -in ciphertextAES -out plaintext.txt -pass pass: 1234123412341234 -nosalt плохой расшифровать ????????????????????????? 3840: ошибка: 06065064: подпрограммы с цифровым конвертом: EVP_DecryptFinal_ex: bad decrypt:. \ Crypto \ evp \ evp_enc.c: 466:
openssl enc -aes-128-cbc -e -in plaintext.txt -out ciphertext -nosalt -K AA -iv AA -p
-p
показывает вам используемый ключ и IV:
key=AA000000000000000000000000000000 iv =AA000000000000000000000000000000
Опустите -K
и -iv
параметры и используйте -pass
, вместо этого, и вы увидите, что пароль и ключ совсем не то же самое. Это верно независимо от того, используется -nosalt
опция -nosalt
.