日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

as3 代码加解密

發布時間:2025/4/9 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 as3 代码加解密 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
private var loader:URLLoader; ... private function init():void {loader = new URLLoader;req=URLRequest = new URLRequest("1.txt");
  //req.dataFormat = URLLoaderDataFormat.BINARY;loader.load(req);loader.addEventListener(Event.COMPLETE,oncomlete); }
private function save(bt:ByteArray):void
{
  var fr:FileReference = new fileReference;
  fr.save(bt,"2.txt");
}
private function oncomplete(e:Event):void {
  if(true)
  {
  var str:String=loader.data;
   trace("src///");
   trace(str);str=secret(str);
   var bt:ByteArray = new ByteArray;
    bt.writeUTFBytes(str);
    bt.compress();    }
  else
  {
    
 
    var bt:ByteArray=loader.data;
      bt.uncompress();
     str=bt.readUTFButes(bt.length);
   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 var pos_key:Array=[8,4]//
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))) } res=pos(res); 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 {
src=unpos(src);
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; }

private function pos(src:String):String
{
  var i,j,k,len,len1,n;
  var res:String;
  len = pos_key.length;
  len1=src.length;
  for(i,len)
  {
    src=res||src;
    res="";
    for(j,pos_key[i])
    {
      n=len1%pos_key[i];
      if(n>0)
        n=pos_key[i]-n;
       while(n--)
        src+='#';
        len1=src.length;
        k=j;
        while(k<len1)
        {
          res+=src.charAt(k);
          k+=pos_key[i]
        }
    }

  }
return res;
}

private function unpos(src:String):String
{
 
 var i,j,k,len,len1,n;
  var res:String;
  len = pos_key.length;
  len1=src.length;
  for(i,len)
  {
    dis=Math.ceil(len1/pos_key[i]);
    src=res||src;
    res="";
    for(j,dis)
    {
      k=j;
      while(k<len1)
      {
        res+=src.charAt(k)
        k+=dis;
      }
    }
  }
return res;
}

?

[65,70,80,91,97,110,123]

轉載于:https://www.cnblogs.com/white-eyes/p/3894341.html

總結

以上是生活随笔為你收集整理的as3 代码加解密的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。