设为首页收藏本站订阅更新

无忧脚本

 找回密码
 加入无忧

QQ登录

只需一步,快速开始

搜索
查看: 11310|回复: 16

加密解密

[复制链接]
发表于 2003-2-10 14:13:57 | 显示全部楼层 |阅读模式
  1. <script language="JavaScript">
  2. function ec(txt)
  3. {
  4.   var wri="";
  5.   for(var x=0;x<txt.length;x++)
  6.   {
  7.     var s=escape(txt.charAt(x));
  8.     if(s==txt.charAt(x))
  9.     {
  10.       wri+=txt.charAt(x);
  11.     }
  12.     else
  13.     {
  14.       wri+=s.substring(2,s.length);
  15.     }
  16.   }
  17.   return wri;
  18. }
  19. function unec(txt)
  20. {
  21.   var wri="";
  22.   for(var x=0;x<txt.length;x=x+4)
  23.   {
  24.     wri+=unescape("%u"+txt.charAt(x)+txt.charAt(x+1)+txt.charAt(x+2)+txt.charAt(x+3));
  25.   }
  26.   return wri;
  27. }
  28. function zip(txt)
  29. {
  30.   var wri="";
  31.   for(var x=0;x<txt.length;x=x+2)
  32.   {
  33.     var c1=txt.charCodeAt(x)+"";
  34.     var c2=txt.charCodeAt(x+1)+"";
  35.     if(c1.length==c2.length)
  36.     {
  37.     }
  38.     else if(c1.length>c2.length)
  39.     {
  40.       for(var y=0;y<c1.length-c2.length;y++)
  41.       {
  42.         c2="0"+c2;
  43.       }
  44.     }
  45.     else if(c1.length<c2.length)
  46.     {
  47.       for(var y=0;y<c2.length-c1.length;y++)
  48.       {
  49.         c1="0"+c1;
  50.       }
  51.     }
  52.     wri+=String.fromCharCode(c1+""+c2);
  53.     status=x+"/"+txt.length;
  54.   }
  55.   return wri;
  56. }
  57. function unzip(txt)
  58. {
  59.   var wri="";
  60.   for(var x=0;x<txt.length;x++)
  61.   {
  62.     var c=txt.charCodeAt(x)+"";
  63.     wri+=String.fromCharCode(c.substring(0,c.length/2))+String.fromCharCode(c.substring(c.length/2,c.length));
  64.     status=x+"/"+txt.length;
  65.   }
  66.   var w="";
  67.   for(var x=4;x<wri.length;x=x+12)
  68.   {
  69.     w+=unescape("%u"+wri.charAt(x)+wri.charAt(x+1)+wri.charAt(x+2)+wri.charAt(x+3))+unescape("%u"+wri.charAt(x+4)+wri.charAt(x+5)+wri.charAt(x+6)+wri.charAt(x+7));
  70.     status=x+"/"+wri.length;
  71.   }
  72.   var s=w.split("%u");
  73.   return s[0];
  74. }
  75. </script>
  76. <center>
  77. <form name=encform onsubmit="return false;">
  78. <textarea name=box1 rows=5 cols=50>在此输入文本来显示简单的加密</textarea>
  79. <p>
  80. <input type=button value="把文本框一中的文件加密显示到文本框二中" onClick="this.form.box2.value=zip(ec(this.form.box1.value));">
  81. <p>
  82. <textarea name=box2 rows=5 cols=50></textarea>
  83. <p>
  84. <input type=button value="把文本框二中的文本解密到文本框三中显示" onClick="this.form.box3.value=unzip(unec(this.form.box2.value));">
  85. <p>
  86. <textarea name=box3 rows=5 cols=50></textarea>
  87. </form>
  88. </center>
复制代码


注意了,该脚本只能加解密汉字。
发表于 2003-2-15 01:39:46 | 显示全部楼层
我没看到什么加密的效果,按扭无效?!
发表于 2003-2-15 19:42:38 | 显示全部楼层
我的可以啊,按第一个按钮第二个框里会出现四方的乱码
按第二个按钮在第三个框里出现原文
我的是ie6
发表于 2003-2-20 03:12:27 | 显示全部楼层

我也是。。

发表于 2003-2-20 09:14:06 | 显示全部楼层
Yang写的代码
老无忧的资料了
发表于 2003-2-20 10:30:22 | 显示全部楼层
我的也可以,ie6
发表于 2003-2-26 01:15:55 | 显示全部楼层
我运行后出现的代码变了

出现了N多"?"号,如下
,应该是论坛的BUG呵,因为看其他贴里的运行也是这样,我的是IE6。0。2600
JSCODE------------------------------------------------------------------------------
<script language="JavaScript">
function ec(txt)
{
??var wri="";
??for(var x=0;x<txt.length;x++)
??{
? ? var s=escape(txt.charAt(x));
? ? if(s==txt.charAt(x))
? ? {
? ?? ?wri+=txt.charAt(x);
? ? }
? ? else
? ? {
? ?? ?wri+=s.substring(2,s.length);
? ? }
??}
??return wri;
}
function unec(txt)
{
??var wri="";
??for(var x=0;x<txt.length;x=x+4)
??{
? ? wri+=unescape("%u"+txt.charAt(x)+txt.charAt(x+1)+txt.charAt(x+2)+txt.charAt(x+3));
??}
??return wri;
}
function zip(txt)
{
??var wri="";
??for(var x=0;x<txt.length;x=x+2)
??{
? ? var c1=txt.charCodeAt(x)+"";
? ? var c2=txt.charCodeAt(x+1)+"";
? ? if(c1.length==c2.length)
? ? {
? ? }
? ? else if(c1.length>c2.length)
? ? {
? ?? ?for(var y=0;y<c1.length-c2.length;y++)
? ?? ?{
? ?? ???c2="0"+c2;
? ?? ?}
? ? }
? ? else if(c1.length<c2.length)
? ? {
? ?? ?for(var y=0;y<c2.length-c1.length;y++)
? ?? ?{
? ?? ???c1="0"+c1;
? ?? ?}
? ? }
? ? wri+=String.fromCharCode(c1+""+c2);
? ? status=x+"/"+txt.length;
??}
??return wri;
}
function unzip(txt)
{
??var wri="";
??for(var x=0;x<txt.length;x++)
??{
? ? var c=txt.charCodeAt(x)+"";
? ? wri+=String.fromCharCode(c.substring(0,c.length/2))+String.fromCharCode(c.substring(c.length/2,c.length));
? ? status=x+"/"+txt.length;
??}
??var w="";
??for(var x=4;x<wri.length;x=x+12)
??{
? ? w+=unescape("%u"+wri.charAt(x)+wri.charAt(x+1)+wri.charAt(x+2)+wri.charAt(x+3))+unescape("%u"+wri.charAt(x+4)+wri.charAt(x+5)+wri.charAt(x+6)+wri.charAt(x+7));
? ? status=x+"/"+wri.length;
??}
??var s=w.split("%u");
??return s[0];
}
</script>
<center>
<form name=encform onsubmit="return false;">
<textarea name=box1 rows=5 cols=50>在此输入文本来显示简单的加密</textarea>
<p>
<input type=button value="把文本框一中的文件加密显示到文本框二中" onClick="this.form.box2.value=zip(ec(this.form.box1.value));">
<p>
<textarea name=box2 rows=5 cols=50></textarea>
<p>
<input type=button value="把文本框二中的文本解密到文本框三中显示" onClick="this.form.box3.value=unzip(unec(this.form.box2.value));">
<p>
<textarea name=box3 rows=5 cols=50></textarea>
</form>
</center>
发表于 2003-3-28 13:47:26 | 显示全部楼层
可惜不能加密abc和123
发表于 2003-3-30 19:48:53 | 显示全部楼层
不行啊
发表于 2003-5-22 18:11:43 | 显示全部楼层

用什么工具好破解?

我只想大概胡了解
发表于 2003-5-29 23:32:01 | 显示全部楼层
有局限,对数字和英文不行,只待中文性。加密都可以,解密就有这种局限。
发表于 2003-6-4 18:07:30 | 显示全部楼层
我的也不行啊!
为什么?
发表于 2003-6-5 10:27:49 | 显示全部楼层
看起来好老的代码呀
发表于 2003-6-5 15:20:28 | 显示全部楼层
数字和字母有问题
发表于 2005-11-16 16:09:25 | 显示全部楼层
继续开发一个对英数也好用的代码吧
发表于 2005-11-29 14:01:31 | 显示全部楼层

我来顶一下
发表于 2012-1-29 21:40:49 | 显示全部楼层
不能用
您需要登录后才可以回帖 登录 | 加入无忧

本版积分规则

小黑屋|手机版|Archiver|无忧脚本 ( 苏ICP备05080427号 )|值班电话:027-62300445   鄂公网安备 42011102000433号

GMT+8, 2017-11-25 09:39 , Processed in 0.106025 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表