Расшифровка AESCrypt между iOS и PHP

У меня чертовски много времени, чтобы выяснить, как расшифровать зашифрованную строку с NSData + AESCrypt.m ( Объясняется здесь )

Я просмотрел несколько других потоков, но мне нужно только iDevice для отправки строки в зашифрованный файл PHP, а затем расшифровывается внутри PHP (где он сохраняется в базе данных).

Этот код:

NSString *encryptedString = [@"Hello" AES256EncryptWithKey:@"a16byteslongkey!"];
NSLog(@"The strign encrypted : %@",encryptedString);

Возвращает зашифрованную строку: 7opqbb7sEVNoXplyQv / X8g ==

А вот мой PHP-код для расшифровки:

function decrypt_data($data, $key) {
    return mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key,$data,MCRYPT_MODE_ECB);
}

function unpadPKCS7($data, $blockSize) {
    $length = strlen ( $data );
    if ($length > 0) {
        $first = substr ( $data, - 1 );

        if (ord ( $first ) <= $blockSize) {
            for($i = $length - 2; $i > 0; $i --)
                if (ord ( $data [$i] != $first ))
                    break;

            return substr ( $data, 0, $i );
        }
    }
    return $data;
}

function decrypt_string($string) {
    $string = unpadPKCS7($string,128);
    $string = decrypt_data($string,"a16byteslongkey!");
    return $string;
}
die('
Basic :'.decrypt_string('7opqbb7sEVNoXplyQv/X8g=='));

ОБНОВЛЕНИЕ:

Выполнял некоторую расшифровку MD5 и много экспериментировал, но все еще далек от достижения приемлемых результатов. Вот что я получил на данный момент:

Original string : Hello
AES256Encrypt result : 7opqbb7sEVNoXplyQv/X8
base64_decode Decrypted: îŠjm¾ìSh^™rBÿ×
mcrypt_rijndael_128 : Õ¯Öå«Ž(ás2’'u)
mcrypt_rijndael_128 & hex2bin : UÃ)ı+úy´e

К сожалению, как бы я ни сгибал и крутил это, я просто получаю треп. Может ли кто-нибудь увидеть, что я делаю неправильно?

9
задан mattytommo 19 March 2013 в 17:03
поделиться