[AS3]as3解密加密算法运用as3crypto类
代码实例参考:flex客户端与java服务端通信,要互相解密加密,客户端用的as3Crypto进行解密加密
代码实例参考:flex客户端与java服务端通信,要互相解密加密,客户端用的as3Crypto进行解密加密。代码参考:
as3crypto:一个as3的关于加解密的开源项目
http://code.google.com/p/as3crypto/
- <?xml version="1.0" encoding="utf-8"?>
- <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
- xmlns:s="library://ns.adobe.com/flex/spark"
- xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
- <fx:Declarations>
- <!-- 将非可视元素(例如服务、值对象)放在此处 -->
- </fx:Declarations>
- <fx:Script>
- <![CDATA[
- import com.hurlant.crypto.symmetric.CBCMode;
- import com.hurlant.crypto.symmetric.DESKey;
- import mx.utils.Base64Decoder;
- import mx.utils.Base64Encoder;
- private var des:DESKey;
- private var cbc:CBCMode;
- private var key:ByteArray;
- private var iv:ByteArray;
- private var tmpByteArray:ByteArray;
- private function clickHandler():void
- {
- key= new ByteArray();
- key.writeUTFBytes("135daac");
- iv= new ByteArray();
- iv.writeUTFBytes("3534ftyywwer");
- des=new DESKey(key);
- cbc = new CBCMode(des);
- cbc.IV = iv;
- tmpByteArray=convertStringToByteArray(test.text);
- cbc.encrypt(tmpByteArray);
- var $base64:Base64Encoder = new Base64Encoder();
- $base64.insertNewLines = false;//该值等于true时,输出的结果会自动换行,默认为true,
- $base64.encodeBytes(tmpByteArray);//这里注意,如果想加密中文就不要使用$base64.encode();
- jiami.text = $base64.toString();
- }
- private function decClickHandler():void
- {
- var $base64D:Base64Decoder = new Base64Decoder();
- $base64D.decode(jiami.text);//这里注意,如果想加密中文就不要使用$base64.encode();
- tmpByteArray=$base64D.toByteArray();
- cbc.decrypt(tmpByteArray);
- jiemi.text = convertByteArrayToString(tmpByteArray);//输出结果
- }
- private function convertStringToByteArray(string:String):ByteArray
- {
- var bytes:ByteArray;
- if ( string) {
- bytes = new ByteArray();
- bytes.writeUTFBytes(string);// writeUTFBytes(value:String) 将 UTF-8 字符串写入字节流;
- }
- return bytes;
- }
- private function convertByteArrayToString(bytes:ByteArray):String
- {
- var str:String;
- if ( bytes ) {
- bytes.position = 0; // 在将 ByteArray 转换成 String中应注意将 bytes 的 position 设置为 0,切记;
- str = bytes.readUTFBytes(bytes.length); // readUTFBytes(length:uint):从字节流中读取一个由 length 参数指定的 UTF-8 字节序列,并返回一个字符串;
- }
- return str;
- }
- ]]>
- </fx:Script>
- <s:TextInput x="10" y="10" id="test"/>
- <s:Button x="19" y="58" label="cuplayer.com加密" click="clickHandler()"/> <s:Label id="jiami" x="135" y="58"/>
- <s:Button x="19" y="91" label="cuplayer.com解密" click="decClickHandler()"/> <s:Label id="jiemi" x="135" y="91"/>
- </s:Application>
热门文章推荐
- [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示例
请稍候...