Шифрование PHP AES PKCS5Padding

Я не программист PHP, поэтому мне нужна небольшая помощь с шифрованием PHP AES.

Я пишу код, в котором я шифрую файлы изображений на PHP, а затем расшифровываю их на Java (Android). Все работает нормально, когда я шифрую / расшифровываю файлы PNG, но когда я пытаюсь сделать то же самое с JPG, расшифровка Java выдает исключение:

WARN/System.err(345): java.io.IOException: data not block size aligned

Судя по поиску в Интернете, это связано с тем, что я неправильно выполняю заполнение .

Как я могу сделать это правильно?

Вот код PHP для шифрования:

<?php
    $secret_key   = "01234567890abcde";
    $iv           = "fedcba9876543210";
    $infile       = "5.png";
    $outfile      = "5_encrypted.png";

    $crypttext = file_get_contents($infile);
    $plaintext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $secret_key, $crypttext, MCRYPT_MODE_CBC, $iv);

    header('Content-Type: application/octet-stream');
    header('Content-Length: ' . strlen($plaintext));
    header('Content-Disposition: attachment; filename=' . ($outfile));

    echo $plaintext;


    //file_put_contents($outfile,$plaintext);   
    //save the file in the folder of server
6
задан Moshe Katz 23 December 2015 в 22:05
поделиться