des实例:

<?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/halo”   minWidth=”1024″ minHeight=”768″ xmlns:ns1=”*”>
<fx:Declarations>
<!– Place non-visual elements (e.g., services, value objects) here –>
</fx:Declarations>
<fx:Script>
<![CDATA[
import com.hurlant.crypto.Crypto;
import com.hurlant.crypto.prng.Random;
import com.hurlant.crypto.rsa.RSAKey;
import com.hurlant.crypto.symmetric.ICipher;
import com.hurlant.crypto.symmetric.IVMode;
import com.hurlant.util.Hex;
private var cipher:ICipher;
private var key:ByteArray;
private var rand:Random;
private var iv:ByteArray;
private var text:ByteArray;

private function init():void{
rand = new Random();
encryptHandler();
}
private function encryptHandler():void{
var keyLength:uint = Crypto.getKeySize("des-cbc");
trace(keyLength,"keyLength");
key = new ByteArray();
key.writeByte(41);
key.writeByte(70);
key.writeByte(218);
key.writeByte(223);
key.writeByte(50);
key.writeByte(14);
key.writeByte(158);
key.writeByte(110);
//rand.nextBytes(key, keyLength);
trace(key.length,"key.length");
cipher = Crypto.getCipher("des-cbc", key);
iv = new ByteArray();
trace(cipher.getBlockSize(),"cipher.getBlockSize()");
rand.nextBytes(iv, cipher.getBlockSize());
trace(Hex.fromArray(key)+" --------:");
if (cipher is IVMode) {
var ivm:IVMode = cipher as IVMode;
ivm.IV = iv;
}

text = new ByteArray;
var len:uint = rand.nextByte()+1; // between 1 and 256
//rand.nextBytes(text, len);
text.writeUTF("abcd");
trace(Hex.fromArray(text));
cipher.encrypt(text);
var as3:String = Hex.fromArray(text);
trace(as3);

decryptHandler();
//encryptHandler();
}
private function decryptHandler():void{

cipher = Crypto.getCipher("des-cbc", key);
if (cipher is IVMode) {
var ivm:IVMode = cipher as IVMode;
ivm.IV = iv;
}

cipher.decrypt(text);
var as3:String = Hex.fromArray(text);
trace(as3);

text.position = 0;
trace(text.readUTF());
trace("-------------------------");

}
]]>
</fx:Script>
</s:Application>

RSA实例:

<?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/halo” creationComplete=”init()”minWidth=”1024″ minHeight=”768″>
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Declarations>
<!– Place non-visual elements (e.g., services, value objects) here–>
</fx:Declarations>
<fx:Script>
<![CDATA[
import com.hurlant.crypto.rsa.RSAKey;
import com.hurlant.util.Base64;
import com.hurlant.util.Hex;

private var currentModulus:String = "5a8eafa90fdf52
1bf8a3931837711db0e9fc9545485cbce8d5576cd9
a7ca6c003690b929873b2b49a2160cd
86b369a0b8b5c71349a933c80ed8ac3a81b012167";
private var currentExponent:String;
private var currentPrivate:String;
private var currentP:String;
private var currentQ:String;
private var currentDMP1:String;
private var currentDMQ1:String;
private var currentCoeff:String;

private var currentResult:String;
private var currentInput:String;

private function init():void{
var rsa:RSAKey = RSAKey.generate(512, "10001");
currentModulus = rsa.n.toString();
currentPrivate = rsa.d.toString();
currentP = rsa.p.toString();
currentQ = rsa.q.toString();
currentDMP1 = rsa.dmp1.toString();
currentDMQ1 = rsa.dmq1.toString();
currentCoeff = rsa.coeff.toString();
}

private function encryptHandler():void {

var rsa:RSAKey = RSAKey.parsePublicKey(currentModulus, "10001");

var data:ByteArray = Hex.toArray(Hex.fromString("test"));
var dst:ByteArray = new ByteArray;
rsa.encrypt(data, dst, data.length);
currentResult = Hex.fromArray(dst);

}

private function decryptHandler():void {
var rsa:RSAKey = RSAKey.parsePrivateKey(currentModulus, "10001", currentPrivate, currentP, currentQ, currentDMP1,currentDMQ1,currentCoeff);
var data:ByteArray = Hex.toArray(this.currentResult);
var dst:ByteArray = new ByteArray;
rsa.decrypt(data, dst, data.length);
currentInput = Hex.fromArray(dst);
trace("decrypt");
displayField(this.currentInput,"text");
}

private function displayField(storage:String, format:String):void {
if (storage==null) return;
var txt:String;
var format:String = String(format);
switch (format) {
case "hex": txt = storage; break;
case "b64": txt = linebrk(Base64.encodeByteArray(Hex.toArray(storage)), 60); break;
default:
txt = Hex.toString(storage);
}
trace("txt", txt);
}
private function linebrk(s:String,n:uint):String {
var ret:String = "";
var i:int = 0;
while(i + n < s.length) {
ret += s.substring(i,i+n) + "\n";
i += n;
}
return ret + s.substring(i,s.length);
}

]]>
</fx:Script>
<s:Button x=”357″ click=”encryptHandler()” y=”88″ label=”加密”/>
<s:Button x=”452″ click=”decryptHandler()” y=”89″ label=”解密”/>
</s:Application>

crypto类库: http://code.google.com/p/as3crypto/

来自: http://www.riaos.com/ria/1573

as3 crypto 加密解密des,rsa相关推荐

  1. C#加密解密(DES,AES,Base64,md5,SHA256,RSA,RC4)

    一:异或^简单加解密(数字类型) 1:原理: 异或用于比较两个二进制数的相应位,在执行按位"异或"运算时,如果两个二进制数的相应位都为1或者都为0,则返回0;如果两个二进制数的相应 ...

  2. php中des加密cbc模式,php中加密解密DES类的简单使用方法示例

    本文实例讲述了php中加密解密DES类的简单使用方法.分享给大家供大家参考,具体如下: 在平时的开发工作中,我们经常会对关键字符进行加密,可能为了安全 也可能为了规范,所以要正确使用DES加密解密 代 ...

  3. 加密解密-DES算法和RSA算法

    昨天忽然对加密解密有了兴趣,今天上班查找了一些资料,现在就整理一下吧:) 一.DES算法 这种算法如图所示,这里将描述它的每一个步骤.这个算法进行了16次迭代(圈),把各块明文交织起来与 从密钥中获得 ...

  4. 基于Python实现的CTF Crypto加密解密工具

    纯小白,记录一下自己小学期内做的项目.基于Python实现一个能够对凯撒密码.维吉尼亚密码.栅栏密码.摩斯密码.Base64编码.Ascii编码.AES.DES.RSA.RC4的加密解密以及维吉尼亚密 ...

  5. java android rsa加密解密_Android RSA加密解密

    转载 http://blog.csdn.net/bbld_/article/details/38777491 RSA是目前最有影响力的公钥加密算法,该算法基于一个十分简单的数论事实:将两个大素数相乘十 ...

  6. 第十九篇:JAVA加密解密之RSA算法

    RSA算法简介 RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.1987年首 ...

  7. ios php rsa加密解密,php rsa加密解密使用详解

    第一条命令生成原始 RSA私钥文件 rsa_private_key.pem,第二条命令将原始 RSA私钥转换为 pkcs8格式,第三条生成RSA公钥 rsa_public_key.pem 从上面看出通 ...

  8. RSA加密解密DES加密解密AES

    文章目录 RSA java 依赖 RSACoder RSACoderTest js示例 DES 示例一 js java 示例2 js java AES AesUtil RSA java 依赖 < ...

  9. java des对称加密_JAVA加密解密DES对称加密算法

    1 下面用DES对称加密算法(设定一个密钥,然后对所有的数据进行加密)来简单举个例子.2 3 首先,生成一个密钥KEY.4 我把它保存到key.txt中.这个文件就象是一把钥匙.谁拥有它,谁就能解开我 ...

最新文章

  1. 三框架:使用数据源dbcp注意
  2. OpenCL异构扩展
  3. 这里有一份福利“拍了拍”你
  4. camuda流程引擎如此简单(一)
  5. 希沃展台如何使用_【海安幼教微家园】玩转希沃白板 点亮精彩课堂 —长江路幼儿园开展希沃一体机操作技能培训...
  6. onlyoffice启用HTTPS
  7. python中api_通过Python中的API查找相关的工作技能
  8. 高并发系统之降级特技
  9. bootstrap表格遍历_BootStrap实现带有增删改查功能的表格(DEMO详解)
  10. redis_lua_nginx环境配置过程
  11. js汉字到linux乱码,完美解决JS中汉字显示乱码问题(已解决)
  12. 输入框input或内容区域textarea中关于光标移动问题
  13. 2009-2012年中国网络游戏市场投资分析及前景预测报告
  14. MySQL的数据类型(三)
  15. SDM(Supervised Descent Method)代码实现在Windows下的配置与使用
  16. 大多数程序员都懂的java虚拟机:C1编译器从字节码到HIR
  17. win10 win7 php,win10降win7的方法
  18. Android中通过Exifinterface读取图片地理位置信息
  19. (转载) 驻足 思考 -- 提升 思维方式
  20. ubuntu中软件安装方法

热门文章

  1. sql 缓冲池_运行中SQL Server缓冲池
  2. 使用SSIS包导入SQL Server FILESTREAM数据
  3. power bi形状地图_如何使用内置形状图在Power BI中创建地理图
  4. 如何连接sql托管实例_如何使用Windows托管的文件共享来支持SQL Server容器
  5. sql truncate_SQL Truncate和SQL Delete语句的内部
  6. ssis导入xml_使用XML文件配置SSIS包
  7. azure云服务器搭建连接_如何创建到Azure SQL数据库的链接服务器
  8. django-pure-pagination
  9. Music Workshop (Unix Name: clavio)
  10. 公司冷备服务器1.100切换到1.99