「as3crypto」というライブラリでは、「ActionScript Libraryリスト」中にもあるんけど、ActionScript3上で、MD5や、SHA1,224,256、RSA、AES, DES, 3DES, BlowFishなどの暗号機能を提供するオーポンソースのライブラリです。暗号化方式だけでなく、Base64エンコード/デコード機能も提供されています。バイナリ列をBase64化してサーバに送出するような場合に使えますね。MD5やBase64はいざというときには必ず必要になるので、是非覚えておきましょう。「as3crypto」はBSDライセンスです。

・下記の図はデモのスクリーンショットです。

as3crypto

・メインの機能の紹介:

  • Protocols: TLS 1.0 support (partial)
  • Certificates: X.509 Certificate parsing and validation, built-in Root CAs.
  • Public Key Encryption: RSA (encrypt/decrypt, sign/verify)
  • Secret Key Encryption: AES, DES, 3DES, BlowFish, XTEA, RC4
  • Confidentiality Modes: ECB, CBC, CFB, CFB8, OFB, CTR
  • Hashing Algorithms: MD2, MD5, SHA-1, SHA-224, SHA-256
  • Paddings available: PKCS#5, PKCS#1 type 1 and 2
  • Other Useful Stuff: HMAC, Random, TLS-PRF, some ASN-1/DER parsing

・以下は一部の使い方です。

■base64

  1. import com.hurlant.util.Base64;
  2. // 文字列をBase64エンコード
  3. var encoded:String = Base64.encode(’ほげ’);
  4. // ByteArrayをBase64エンコード
  5. var bytes:ByteArray = new ByteArray();
  6. bytes.writeUTFBytes(”ほげほげ”);
  7. var encoded2:String = Base64.encodeByteArray(bytes);
  8. // Base64にエンコードされた文字列をデコードして元の文字列に
  9. var decoded:String = Base64.decode(encoded);
  10. // Byte列にデコード
  11. var decodedBytes:ByteArray = Base64.decodeToByteArray(encoded);

■ Hex

  1. import com.hurlant.util.Hex;
  2. // 16進数を与えByteArrayに
  3. var byte:ByteArray = Hex.toArray(1F);
  4. // 復元
  5. var str:String = Hex.fromArray(byte);
  6. // 引数で与えられた16進数コードの文字列が対応するアスキーコードの文字列に変換

■ Hash

  1. MD5SHA1のようなHashを使う
  2. import com.hurlant.crypto.Crypto;
  3. import com.hurlant.crypto.symmetric.*;
  4. import com.hurlant.crypto.hash.*;
  5. var hash:IHash = Crypto.getHash(md5); // sha sha1 sha224 sha256
  6. var result:ByteArray = hash.hash(Hex.toArray(Hex.fromString(hoge)));
  7. Hex.fromArray(result);

■ Cipher

  1. cipherを取得してencrypt
  2. var cipher:ICipher = Crypto.getCipher(simple-aes128-ctr”, key);
  3. cipher.encrypt(data);
  4. var res:String = Hex.toString(1F);
  5. // 引数で与えられた文字列のアスキーコードを16進数コードに
  6. var res2:String = Hex.fromString(26);

関連リンク

http://code.google.com/p/as3crypto/ 公式サイト

メインコンテンツEND ■
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Posted on Thursday, 9th April 2009 by admin

Tags: , , , , , ,
Posted in ActionScript, Flash Project | Comments (0) | 6,629 views

Leave a Reply