2

as3crypto ライブラリを使用して、Adobe Air アプリケーションで mp3 ファイルを暗号化しています。以下のコードはエラーなしで実行されますが、ファイル全体ではなく、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();

}
4

1 に答える 1

4

その間に解決策を見つけました。私が交換した場合:

var aes:AESKey = 新しい AESKey(キー);

var aes:ICipher = Crypto.getCipher(”simple-aes-ecb”, key,Crypto.getPad(”pkcs5”));

ファイル全体を暗号化します。

于 2010-08-09T01:15:17.030 に答える