Это код, который используется на Android для шифрования ZIP-файла.
function encryptString($RAWDATA) {
$key = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
// encrypt string, use rijndael-128 also for 256bit key, this is obvious
$td = mcrypt_module_open('rijndael-128', '', 'ecb', '');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$encrypted_string = mcrypt_generic($td, strlen($RAWDATA) . '|' .
$RAWDATA);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
// base-64 encode
return base64_encode($encrypted_string);
}
Этот код для PHP расшифровывает этот же ZIP-файл после его отправки на мой сервер..
function decryptString($ENCRYPTEDDATA) {
$key = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
// base-64 decode
$encrypted_string = base64_decode($ENCRYPTEDDATA);
// decrypt string
$td = mcrypt_module_open('rijndael-256', '', 'ecb', '');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$returned_string = mdecrypt_generic($td, $encrypted_string);
unset($encrypted_string);
list($length, $original_string) = explode('|', $returned_string, 2);
unset($returned_string);
$original_string = substr($original_string, 0, $length);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return $original_string;
Кажется, это не работает.Он прекрасно зашифрует файл .zip на Android, но когда я вызываю функцию в PHP
$zip_file = $path . $strFileName;
decryptString($zip_file);
, он не расшифровывает файл .zip.Когда я открываю файлы .txt в файле .zip, они все еще зашифрованы.
Это второй код шифрования, который я пробовал, поскольку моя первая попытка не сработала.Буду признателен за любую помощь, или если вы знаете код шифрования / дешифрования, который работает с Android на PHP.
Спасибо !!