flex-php--des加密解密通用代码
来源:互联网 发布:汉王识别软件 编辑:程序博客网 时间:2024/05/22 02:16
包文件下载地址:http://download.csdn.net/detail/jiguoguo/7033045
导入com包后 代码如下 key 和iv必须8位。多了后两边就不同了
protected function phpToAs3Encode(plain:String):String{import com.hurlant.crypto.hash.HMAC;import com.hurlant.crypto.hash.IHash;import com.hurlant.crypto.hash.MD2;import com.hurlant.crypto.hash.MD5;import com.hurlant.crypto.hash.SHA1;import com.hurlant.crypto.hash.SHA224;import com.hurlant.crypto.hash.SHA256;import com.hurlant.crypto.prng.ARC4;import com.hurlant.crypto.rsa.RSAKey;import com.hurlant.crypto.symmetric.AESKey;import com.hurlant.crypto.symmetric.BlowFishKey;import com.hurlant.crypto.symmetric.CBCMode;import com.hurlant.crypto.symmetric.CFB8Mode;import com.hurlant.crypto.symmetric.CFBMode;import com.hurlant.crypto.symmetric.CTRMode;import com.hurlant.crypto.symmetric.DESKey;import com.hurlant.crypto.symmetric.ECBMode;import com.hurlant.crypto.symmetric.ICipher;import com.hurlant.crypto.symmetric.IMode;import com.hurlant.crypto.symmetric.IPad;import com.hurlant.crypto.symmetric.ISymmetricKey;import com.hurlant.crypto.symmetric.IVMode;import com.hurlant.crypto.symmetric.NullPad;import com.hurlant.crypto.symmetric.OFBMode;import com.hurlant.crypto.symmetric.PKCS5;import com.hurlant.crypto.symmetric.SimpleIVMode;import com.hurlant.crypto.symmetric.TripleDESKey;import com.hurlant.crypto.symmetric.XTeaKey;import com.hurlant.util.Base64;import flash.utils.ByteArray;var iv2:String = '12345678'; //key和 iv 可以自己定义不同的var key2:String = '12345678';var key:ByteArray = new ByteArray(); key.writeUTFBytes(key2);var iv:ByteArray= new ByteArray();iv.writeUTFBytes(iv2);var des:DESKey = new DESKey(key); var cbc:CBCMode = new CBCMode(des); //加密模式 ,有多种模式供你选择cbc.IV = iv; //设置加密的IV/* 得到的密文长度和明文的长度有关,规律大致是:明文<8 密文=12 ,明文<16 密文=24 ,明文>=16 密文=32......后面希望你们推一下*///var plain:String = "123456789"; //明文var tmpByteArray:ByteArray = convertStringToByteArray(plain); //转换成二进制编码 (该函数自己定义)cbc.encrypt(tmpByteArray); //利用加密模式对数据进行加密var as3Str:String = Base64.encodeByteArray(tmpByteArray); //利用base64对密文进行编码return as3Str;//trace("as3Str = "+as3Str);//输出结果 为: PXWVqYv/gJ04WpM5vlT9gg==}public function convertStringToByteArray(str:String):ByteArray{var bytes:ByteArray;if (str){bytes=new ByteArray();bytes.writeUTFBytes(str);}return bytes;}
下面是php代码
$key='12345678';$iv="12345678";$encrypt='123456789'; //被加密的字符串 PXWVqYv/gJ04WpM5vlT9gg==$tb=mcrypt_module_open(MCRYPT_3DES,'','cbc',''); //创建加密环境,要AES就把MCRYPT_3DES替换成"rijndael-128" 128/8 = 16 字节 表示IV的长度mcrypt_generic_init($tb,$key,$iv); //初始化加密算法$encrypt=$this->PaddingPKCS7($encrypt);$cipher=mcrypt_generic($tb,$encrypt); //执行加密$cipher=base64_encode($cipher);mcrypt_generic_deinit($tb);mcrypt_module_close($tb);echo $encrypt.' DES 加密后= '.$cipher.'<br>';echo " 密文长度 = ".strlen($cipher);//解密$tb=mcrypt_module_open(MCRYPT_3DES,'','cbc','');mcrypt_generic_init($tb,$key,$iv);$cipher=base64_decode($cipher);$pain=mdecrypt_generic($tb,$cipher);mcrypt_generic_deinit($tb);mcrypt_module_close($tb);echo base64_encode($cipher).'解密后 11= '.$pain.'<br>';
0 0
- flex-php--des加密解密通用代码
- php 3DES|DES 加密解密(通用)
- PHP中DES加密解密实例代码
- PHP DES加密解密
- DES通用加密解密类
- DES加密解密代码
- Flex中Des加密解密
- 兼容PHP和Java的des加密解密代码分享
- java php DES 加密解密
- php des 加密解密实例
- java php DES 加密解密
- php des 加密解密实例
- PHP DES 对称-加密解密
- php des 加密解密实例
- 一段Des加密解密代码
- des加密和解密代码
- PHP和.NET通用的加密解密函数类,均使用3DES加解密
- Flex——DES加密解密
- IOS 入门开发之使用XCODE4制作静态库详解
- Julia语言:让高性能科学计算人人可用
- dojo shrinksafe 使用方法-new
- 跨线程使用CSocket
- linux查看当前路径
- flex-php--des加密解密通用代码
- 设计要抓住用户人群的心
- Objective-C与JavaScript的交互
- 《C++ Primer第五版》读书笔记--插播--看了一篇UNIX/LINUX toolchain的短文,做个笔记备用
- Linux C开发--头文件查找、动态库搜索
- 《Head First 设计模式》适配器模式
- 磁通变化量,电压变化量,占空比 关系
- 常见的WEB服务器和应用服务器
- android之Fragment(官网资料翻译)