as3 代码加解密

private var loader:URLLoader;
...
private function init():void
{
   loader = new URLLoader;
   req=URLRequest = new URLRequest("1.txt");
  loader.load(req);
  loader.addEventListener(Event.COMPLETE,oncomlete);
}
private function oncomplete(e:Event):void
{
  var str:String=loader.data;
  trace("src///////");
  str=secret(str);
  trace("secret///////\n"+str);
  str=unsecret(str);
  trace("unsecret//////////////\n"+str);

}

private var add_key:Array=[800,650,400,525,100,250]//间距大于122(z的unicode值)
private var range:Array=[65,91,97,123]//65,70,75,91,97,100,123
private var xor_key:Array=[0xaa,0xbb]

private function secret(src:String):String
{
 var res:String="";
  var i:int,len:int,unicode:int;
 len=src.length
for(i=0;i<len;i++)
{
    unicode=str.charCodeAt(i);
var idx=index(unicode);
res+=String.fromCharCode(xor(add_key[idx]+unicode+random(i)))
}   

return res;
}
i
private function xor(v:int):int
{
  var i:int,len:int;
 len=xor_key.length
for(i=0;i<len;i++)
{
    v^=xor_key[i];
}
return v;
}

private function random(i:int):int
{
  swicth(i%4)
{
case 0:
if(i%9==0)
return((1-Math.sin(i))*(i%100)>>0);
else
return((1-Math.sin(i))*(i%200)>>0);
case 1:
return ((1-Math.cos(i))*(i%300)>>0);
case 2:
return ((1-Math.cos(i)*Math.sin(i))*(i%400)>>0);
case 3
if(i%3==0)
return((1-Math.sin(i)*Math.cos(i)*Math.cos(i))*(i%500)>>0);
else
return((1-Math.sin(i)*Math.cos(i)*Math.cos(i))*(i%600)>>0);
}return 1;
}

private function index(u:int):int
{
 if(u>64&&u<91||u>96&&u<123)
{
 var i:int,len:int;
len=range.length-1;
for(i=0;i<len;i++)
{
    if(u>=range[i]&&u<range[i+1])
    break;
}
return i
}
else
return 5
}

private function index2(u:int):int
{
  var i:int,len:int;
len=add_key.length-1;
for(i=0;i<len;i++)
{
if(u>=add_key[i]&&u<=add_key[i]+123)
break;
}
return u-add_key[i];
}

private function unsecret(src:String):String
{
var res:String="";
var i:int,len:int;
var u:int;
len=src.length;
for(i=0;i<len;i++)
{
    u=xor(src.charCodeAt(i)-random(i));
    u=index2(u);
    res+=String.formCharCode(u);
}
return res;
}
[65,70,80,91,97,110,123]

as3 代码加解密

时间: 2024-10-10 06:49:41

as3 代码加解密的相关文章

web.config/app.config敏感数据加/解密的二种方法

一 建立虚拟目录  http://localhost/EncryptWebConfig,并添加web.config,其中包含数据库连接字符串: <connectionStrings>            <add name="Conn" connectionString="Data Source=liuwu;User ID=liuwu;Password=liuwu;"/>    </connectionStrings> 二  运

Java 使用AES/CBC/PKCS7Padding 加解密字符串

介于java 不支持PKCS7Padding,只支持PKCS5Padding 但是PKCS7Padding 和 PKCS5Padding 没有什么区别要实现在java端用PKCS7Padding填充,需要用到bouncycastle组件来实现 所以需要一个jar 来支持.bcprov-jdk16-146.jar 下载地址:http://central.maven.org/maven2/org/bouncycastle/bcprov-jdk16/1.46/bcprov-jdk16-1.46.jar

程序中对密码进行加解密的C代码示例

问题的提出 在实际的软件项目中,经常涉及到对密码的处理,如用户登录密码.数据库密码.FTP密码等.为了增加软件的灵活性,一般都要求将这些密码放到一个配置文件中.但密码原文容易记录,若被软件入侵者获取,则后果不堪设想.因此我们不能直接将密码原文填入配置文件中,而要先对密码进行加密,然后将加密之后的密文填入配置文件,等程序读取配置之后再进行解密处理. 整个流程如图1所示. 图1 加解密总体流程 示例程序流程 为了演示整个加解密的流程,设计了一个演示程序,其执行流程如图2所示. 图2 示例程序流程 示

Android jni aes加解密,实现文件的加解密,具体实现可以自行修改,上面的代码为简单介绍,下面的是JNI端实现文件加解密,可以修改为字符串加解密

#include "aes.h" #include "modes.h" #include "e_os2.h" #include "aes_locl.h" #include "opensslconf.h" AES_KEY aes; //aes cbc模式加解密用到的向量 unsigned char iv[AES_BLOCK_SIZE]; for (i = 0; i < AES_BLOCK_SIZE; i

C#NET字符编码加解密的参考代码

//C#NET字符编码加解密的参考代码我是从老外程序里面拷贝出来的希望对大家有所用 1 public string Encrypt(string name) { 2 byte ivId = GetIVId(name); 3 cipher.IV = GetIV(ivId); 4 var buf = Encoding.UTF8.GetBytes(name); 5 6 using (var ms = new MemoryStream()) { 7 ms.WriteByte(ivId); 8 using

【转】 Java 进行 RSA 加解密时不得不考虑到的那些事儿

[转] Java 进行 RSA 加解密时不得不考虑到的那些事儿 1. 加密的系统不要具备解密的功能,否则 RSA 可能不太合适 公钥加密,私钥解密.加密的系统和解密的系统分开部署,加密的系统不应该同时具备解密的功能,这样即使黑客攻破了加密系统,他拿到的也只是一堆无法破解的密文数据.否则的话,你就要考虑你的场景是否有必要用 RSA 了. 2. 可以通过修改生成密钥的长度来调整密文长度 生成密文的长度等于密钥长度.密钥长度越大,生成密文的长度也就越大,加密的速度也就越慢,而密文也就越难被破解掉.著名

rsa互通密钥对生成及互通加解密(c#,java,php)

摘要 在数据安全上rsa起着非常大的作用,特别是数据网络通讯的安全上.当异构系统在数据网络通讯上对安全性有所要求时,rsa将作为其中的一种选择,此时rsa的互通性就显得尤为重要了. 本文参考网络资料,提供了rsa互通性的一种可行的解决方案(c#,java,php),而这种互通性是在一定的局限性上达成的,比如密钥是1024位的(更高位没试过,应该也可行),基于PKCS1填充方式. 所编写的代码有一部分使用了硬编码,同时注重了功能的实现,在类结构设计上关注不多,有需要的可自行修改重构. 相关的程序集

实验五 TCP传输及加解密

北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计                         班级:1353            姓名:陈巧然      学号:20135310 成绩:             指导教师:娄佳鹏              实验日期:2015.6.9 实验密级:         预习程度:             实验时间:15:20-18:00 仪器组次:10          必修/选修:            

openssl 加解密学习笔记

首先最近接到一个项目,这个项目中需要用到RSA的加密解密,因为之前没有接触过,在网上找了些资料,然后自己测试后发现其实使用openssl来进行加解密挺简单的,但是网上百度出来的很多又是一样的,有时候帮助不是很大,所以才想要写下来自己在搞整个加密过程遇到的一些问题,方便自己以后回头查看,也可能会帮到遇到同样的童鞋. 废话不多说,我接到的这个项目呢,有几个地方是需要用到RSA的加解密.1.使用.pfx格式的私钥签名.2.使用.cer的公钥文件进行加密操作.3.使用给定的指数与模进行公钥加密.下面有些