使用as3crypto的mp3文件的Adobe Air加密仅加密前几个字节

时间:2010-08-08 13:47:54

标签: flex encryption air adobe as3crypto

我正在使用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();

}

1 个答案:

答案 0 :(得分:4)

与此同时我找到了解决方案。如果我更换:

var aes:AESKey = new AESKey(key);

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

它加密整个文件。