[AS3]as的加密解密算法(使用as3crypto包实现)
[AS3]as的加密实现使用的as3crypto包,[AS3]as的加密解密算法(使用as3crypto包实现)
[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包实现)
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...