2016-10-13 00:16:48 点击量:43 标签: 收藏本文
[AS3]as的加密实现使用的as3crypto包
- package util
- {
- import com.hurlant.crypto.symmetric.CBCMode;
- import com.hurlant.crypto.symmetric.DESKey;
- import flash.utils.ByteArray;
- import mx.utils.Base64Decoder;
- import mx.utils.Base64Encoder;
- /**
- * 加密算法,对配置文件进行加密
- * */
- public class EncryptionUtil
- {
- public function EncryptionUtil()
- {
- }
- /**
- * 对字符串加密
- * */
- static public function encryption(str:String):String{
- if(!str||str.length==0){return "";}
- var key:ByteArray= new ByteArray();
- key.writeUTFBytes("0102030405060708");
- var iv:ByteArray= new ByteArray();
- iv.writeUTFBytes("0102030405060708");
- var des:DESKey=new DESKey(key);
- var cbc:CBCMode = new CBCMode(des);
- cbc.IV = iv;
- var tmpByteArray:ByteArray=convertStringToByteArray(str);
- cbc.encrypt(tmpByteArray);
- var $base64:Base64Encoder = new Base64Encoder();
- $base64.insertNewLines = false;//该值等于true时,输出的结果会自动换行,默认为true,
- $base64.encodeBytes(tmpByteArray);//这里注意,如果想加密中文就不要使用$base64.encode();
- return $base64.toString();
- }
- /**
- * 对字符串解密
- * */
- static public function decryption(str:String):String{
- if(!str||str.length==0){return "";}
- var key:ByteArray= new ByteArray();
- key.writeUTFBytes("0102030405060708");
- var iv:ByteArray= new ByteArray();
- iv.writeUTFBytes("0102030405060708");
- var des:DESKey=new DESKey(key);
- var cbc:CBCMode = new CBCMode(des);
- cbc.IV = iv;
- var $base64D:Base64Decoder = new Base64Decoder();
- $base64D.decode(str);//这里注意,如果想加密中文就不要使用$base64.encode();
- var tmpByteArray:ByteArray =$base64D.toByteArray();
- cbc.decrypt(tmpByteArray);
- return convertByteArrayToString(tmpByteArray);
- }
- static private function convertStringToByteArray(str:String):ByteArray
- {
- var bytes:ByteArray;
- if (str)
- {
- bytes=new ByteArray();
- bytes.writeUTFBytes(str);
- }
- return bytes;
- }
- static private function convertByteArrayToString(bytes:ByteArray):String
- {
- var str:String;
- if (bytes)
- {
- bytes.position=0;
- str=bytes.readUTFBytes(bytes.length);
- }
- return str;
- }
- }
- }
[AS3]as的加密解密算法(使用as3crypto包实现)
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室