У меня есть скрипт, который читает файл mp3 и шифрует его, я хочу иметь возможность расшифровать этот файл и преобразовать его в base64, чтобы он мог воспроизводиться в формате html5.
Ключ 1 будет сохранен наpage и static, key2 будет уникальным для каждого файла, для тестирования я использовал:
$key1 = md5(time());
$key2 = md5($key1.time());
Вот мой код php кодирования:
//Get file content
$file = file_get_contents('test.mp3');
//Encrypt file
$Encrypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key1, $file, MCRYPT_MODE_CBC, $key2);
$Encrypt = trim(base64_encode($Encrypt));
//Create new file
$fileE = "test.mp3e"; $fileE = fopen($file64, 'w') or die("can't open file");
//Put crypted content
fwrite($fileE, $Encrypt);
//Close file
fclose($fileE);
Вот код, который не работает (декодированный файл того же размера, но без mimetype):
//Get file content
$fileE = file_get_contents('test.mp3e');
//Decode
$fileDecoded = base64_decode($fileE);
//Decrypt file
$Decrypt = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key1, $fileDecoded, MCRYPT_MODE_CBC, $key2);
$Decrypt = trim($Decrypt);
//Create new file
$file = "test.mp3"; $file = fopen($file, 'w') or die("can't open file");
//Put crypted content
fwrite($file, $Decrypt);
//Close file
fclose($file);