您的位置:首页 > 其它

flex 使用as3crypto 加密解密

2012-11-16 21:35 316 查看
as3crypto 时一个as3的关于加解密的开源项目

参考:http://code.google.com/p/as3crypto/

为了能方便的调用加密和解密,在flex中新建了一个类CryptoUtil.as,这样在mxml中调用类中的两个方法就可以了。

package myComponents

{

import com.hurlant.crypto.symmetric.DESKey;

import flash.utils.ByteArray;

import mx.utils.Base64Decoder;

import mx.utils.Base64Encoder;

public class CryptoUtil

{

/**

*加密

**/

public static function DESEncrypt(src:String,k:String):String

{

var key:ByteArray = new ByteArray();

key.writeUTFBytes(k);

var bytes:ByteArray = new ByteArray();

bytes.writeUTFBytes(src);

var des:DESKey = new DESKey(key);

des.encrypt(bytes);

var base64:Base64Encoder = new Base64Encoder();

base64.encodeBytes(bytes);

return base64.flush();

}

/**

* 解密

**/

public static function DESDecrypt(src:String,k:String):String

{

var key:ByteArray = new ByteArray();

key.writeUTFBytes(k);

var base64:Base64Decoder = new Base64Decoder();

base64.decode(src);

var bytes:ByteArray = base64.toByteArray();

var des:DESKey = new DESKey(key);

des.decrypt(bytes);

bytes.position = 0;

return bytes.readUTFBytes(bytes.length);

}

}

}

该例子是由一位大侠做了。我对加密和解密两个函数中的两个参数是这样理解的。

用户设置了自己的密码后,那么用户名作为一个参数src,密码作为另外一个参数k,然后进行加密DESEncrypt(src,k),通过后台存储到数据库中。

然后当用户再次登录时,将用户名src和密码k作为参数在此加密DESEncrypt(src,k),将加密的信息在后台跟数据库中的保存的加密后的密码进行比较是否一样。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: