Adobe Air шифрует mp3-файл с помощью as3crypto, шифрует только первые несколько байтов. - PullRequest
2 голосов
/ 08 августа 2010

Я использую библиотеку as3crypto для шифрования mp3-файлов в приложении Adobe Air.Приведенный ниже код работает без ошибок, но я понял, что шифруются только первые несколько байтов mp3-файла, но не весь файл.

Я понятия не имею, в чем проблема.Может ли кто-нибудь быть таким добрым и взглянуть на мой код ниже?

import com.hurlant.crypto.symmetric.AESKey;
import com.hurlant.crypto.symmetric.DESKey;
import com.hurlant.util.Hex;

import mx.controls.Alert;

private static var stream:FileStream;
private static var stream2:FileStream;
private static var file:File;

private var fileToEncrypt:ByteArray;

private function encrypt():void
{
    file = File.documentsDirectory.resolvePath(”airenc/file1.mp3″);

    fileToEncrypt = new ByteArray;

    stream = new FileStream();
    stream.open( file, FileMode.READ );
    stream.readBytes(fileToEncrypt);
    stream.close();

    file = File.documentsDirectory.resolvePath(”airenc/file1-enc.mp3″);

    var key:ByteArray = Hex.toArray(”myEncKey”);
    var aes:AESKey = new AESKey(key);

    aes.encrypt(fileToEncrypt);

    stream2 = new FileStream();
    stream2.open( file, FileMode.WRITE );
    stream2.writeBytes(fileToEncrypt);
    stream2.close();

}

1 Ответ

4 голосов
/ 09 августа 2010

тем временем я нашел решение. Если я заменю:

переменные: AESKey = новый AESKey (ключ);

с

var aes: ICipher = Crypto.getCipher (”simple-aes-ecb”, ключ, Crypto.getPad (”pkcs5 ″));

Зашифровывает весь файл.

...