20 сентября 2010 г.

Использование as3crypto библиотеки для Flash

as3crypto - библиотека с множеством возможностей: одностороннее и двустороннее шифрование, вычисление контрольных сумм и некоторые другие утилитарные вещи можно сотворить во Flash, Flex и AIR при помощи этой библиотеки.

Использование библиотеки тривиально. Заходим на http://code.google.com/p/as3crypto/, качаем Crypto.zip архив. Либо помещаем распакованные файлы в папку проекта, либо указываем компилятору путь до библиотеки.

Далее используем примерно следующее:
package {

import flash.display.Sprite;
import flash.utils.ByteArray;
import com.hurlant.crypto.Crypto;
import com.hurlant.crypto.symmetric.ICipher;
import com.hurlant.crypto.symmetric.IPad;
import com.hurlant.crypto.symmetric.PKCS5;

public class TestCrypto extends Sprite {

    public function TestCrypto () {
        var testStr:String = "Некая строка русского текста.";
        var keyStr:String = "somerandomstring";
        var strBytes:ByteArray = new ByteArray();
        strBytes.writeUTFBytes(testStr);
        var keyBytes:ByteArray = new ByteArray();
        keyBytes.writeUTFBytes(keyStr);

        var mode:ICipher = Crypto.getCipher("blowfish-ecb", keyBytes, new PKCS5);
        mode.encrypt(strBytes);
        trace(strBytes);
        mode.decrypt(strBytes);
        trace(strBytes);
    }
}
}
Но есть один небольшой нюанс. Для того, чтобы библиотека работала не выдавая ошибок компиляции, придется её немного допилить. Для этого в файле com.hurlant.crypto.symmetric.AESKey необходимо вынести часть кода с инициализацией нескольких переменных из определений класса в конструктор. Я так подозреваю, люди портировали код из Java.

3 комментария:

sanyva комментирует...

Блин вы так пишете. Фиг поймет как это применить

"Далее используем примерно следующее:" И как это использовать где его использовать, куда его использовать ??????????????????????????????????

PixeL комментирует...

Сожалею, если не понятно. На самом деле всё достаточно просто, поэтому и не стал расписывать. Это нужно не каждому.

Создаете во FlashDevelop'ере проект ActionScript 3, назвав его TestCrypto. Переименовываете файл Main.as в TestCrypto.as. Заменяете код в этом файле на код в данной статье. Переписываете в директорию src проекта данную библиотеку. Компилите, запускаете, смотрите трейс.

Надеюсь теперь более понятно...

sanyva комментирует...

ООО. спасибо добрый человек !!!! :))))

Отправить комментарий