`
天梯梦
  • 浏览: 13634187 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

JavaScript 压缩 加密 解密

阅读更多

 

代码:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="toolsite.css"  rel="stylesheet" type="text/css">
<title></title>
</head>
<body>
  <!--warp-->
  <div class="wrap">

  <!--main-->
  <div class="main">

<script src="base.js" type="text/javascript"></script>
<script type="text/javascript">
      function pack_js(base64) {
        var input = document.getElementById('content').value;
        var packer = new Packer;
        if (base64) {
          var output = packer.pack(input, 1, 0);
        } else {
          var output = packer.pack(input, 0, 0);
        }
        document.getElementById('content').value = output;
      }
</script>
<form name="aspnetForm" method="post" action="JsFormat.aspx" id="aspnetForm">
<div style="color: rgb(0, 106, 173); font-size: 16px; font-weight: bold;" align="center">JavaScript/HTML格式化</div>
<textarea id="content" name="content" style="width: 850px; border: 1px solid rgb(197, 226, 242); height: 300px; overflow: visible;" cols="20" rows="20">
            function htmlspecialchars(string, quote_style,
charset, double_encode) {
	// Convert special characters to HTML entities
	//
	// version: 1004.2314
	// discuss at: http://phpjs.org/functions/htmlspecialchars    // +
original by: Mirek Slugen
	// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   bugfixed by: Nathan
	// +   bugfixed by: Arno
	// +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +    bugfixed by: Brett Zamir (http://brett-zamir.me)
	// +      input by: Ratheous
	// +      input by: Mailfaker (http://www.weedem.fr/)
	// +      reimplemented by: Brett Zamir (http://brett-zamir.me)
	// +      input by: felix    // +    bugfixed by: Brett Zamir
(http://brett-zamir.me)
	// %        note 1: charset argument not supported
	// *     example 1: htmlspecialchars("&lt;a
href='test'&gt;Test&lt;/a&gt;", 'ENT_QUOTES');
	// *     returns 1: '&amp;lt;a
href=&amp;#039;test&amp;#039;&amp;gt;Test&amp;lt;/a&amp;gt;'
	// *     example 2: htmlspecialchars("ab\"c'd", ['ENT_NOQUOTES',
'ENT_QUOTES']);    // *     returns 2: 'ab"c&amp;#039;d'
	// *     example 3: htmlspecialchars("my "&amp;entity;" is still here",
 null, null, false);
	// *     returns 3: 'my &amp;quot;&amp;entity;&amp;quot; is still here'
	var optTemp = 0,
	i = 0,
	noquotes = false;
	if (typeof quote_style === 'undefined' || quote_style === null) {
		quote_style = 2;
	}
	string = string.toString();
	if (double_encode !== false) { // Put this first to avoid
double-encoding
		string = string.replace(/&amp;/g, '&amp;amp;');
	}
	string = string.replace(/&lt;/g, '&amp;lt;').replace(/&gt;/g,
'&amp;gt;');

	var OPTS = {
		'ENT_NOQUOTES': 0,
		'ENT_HTML_QUOTE_SINGLE': 1,
		'ENT_HTML_QUOTE_DOUBLE': 2,
		'ENT_COMPAT': 2,
		'ENT_QUOTES': 3,
		'ENT_IGNORE': 4
	};
	if (quote_style === 0) {
		noquotes = true;
	}
	if (typeof quote_style !== 'number') { // Allow for a single string or
an array of string flags        quote_style = [].concat(quote_style);
		for (i = 0; i &lt; quote_style.length; i++) {
			// Resolve string input to bitwise e.g. 'PATHINFO_EXTENSION' becomes 4
			if (OPTS[quote_style[i]] === 0) {
				noquotes = true;
			} else if (OPTS[quote_style[i]]) {
				optTemp = optTemp | OPTS[quote_style[i]];
			}
		}
		quote_style = optTemp;
	}
	if (quote_style &amp; OPTS.ENT_HTML_QUOTE_SINGLE) {
		string = string.replace(/'/g, '&amp;#039;');
	}
	if (!noquotes) {
		string = string.replace(/"/g, '&amp;quot;');
	}

	return string;
}

</textarea>

<select name="tabsize" id="tabsize">
  <option selected="selected" value="1">
    制表符缩进
  </option>
  <option value="2">
    2个空格缩进
  </option>
  <option value="4">
    4个空格缩进
  </option>
  <option value="8">
    8个空格缩进
  </option>
</select>

<input class="but" value="格式化" onclick="return do_js_beautify()" id="beautify" type="button">
<input class="but" value="普通压缩" onclick="pack_js(0)" type="button">
<input class="but" value="加密压缩" onclick="pack_js(1)" type="button">
</form>
  </div>
  </div>
</body>
</html>
 

 

 

另一种:

 

<script> 
a=62; 
function encode() { 
 var code = document.getElementById('code').value; 
 code = code.replace(/[\r\n]+/g, ''); 
 code = code.replace(/'/g, "\\'"); 
 var tmp = code.match(/\b(\w+)\b/g); 
 tmp.sort(); 
 var dict = []; 
 var i, t = ''; 
 for(var i=0; i<tmp.length; i++) { 
   if(tmp[i] != t) dict.push(t = tmp[i]); 
 } 
 var len = dict.length; 
 var ch; 
 for(i=0; i<len; i++) { 
   ch = num(i); 
   code = code.replace(new RegExp('\\b'+dict[i]+'\\b','g'), ch); 
   if(ch == dict[i]) dict[i] = ''; 
 } 
 document.getElementById('code').value = "eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}(" 
   + "'"+code+"',"+a+","+len+",'"+ dict.join('|')+"'.split('|'),0,{}))"; 
} 

function num(c) { 
 return(c<a?'':num(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36)); 
} 

function run() { 
 eval(document.getElementById('code').value); 
} 

function decode() { 
 var code = document.getElementById('code').value; 
 code = code.replace(/^eval/, ''); 
 document.getElementById('code').value = eval(code); 
} 
</script> 


<textarea id=code cols=80 rows=20> 

</textarea>
 
<input type=button onclick=encode() value=编码> 
<input type=button onclick=run() value=执行> 
<input type=button onclick=decode() value=解码> 
 

 

 

 

 

 

 

分享到:
评论

相关推荐

    JavaScript 加密 解密 压缩 排版 工具,单个HTML文件。(绿色)

    一个用于JavaScript加密、解密、压缩、排版的工具,单个HTML文件。体积小巧,和现有的一些在线工具相比,代码直接在本地处理,排除了在线工具在后台保存代码的可能性。同时,适合在没有网络的环境下使用。

    HTML技法-HTML加密解密/压缩优化与HTML乱码分析/防360拦截/HTML万能解密器

    课程内容包含乱码的原因分析、代码的压缩与优化、JavaScript/html前端代码加密解密、前端加密防360浏览器拦截、html代码解密原理分析、万能解密神器、手动解密html代码等等。

    JavaScript / html / CSS 在线:美化、优化、加密、解密、压缩、解压

    前端开发有时候复制别人的代码没有格式化,阅读起来很困难,自己格式化需要一点点的调,很浪费时间。本软件本地打开可以格式化、压缩、解压JavaScript/html/CSS代码,很方便,大大提高了开发效率。

    js利用crypto进行"aes-128-cbc"解密压缩视频文件

    为防止有版权的视频文件在播放时直接暴露,利用JavaScript加密库crypto进行"aes-128-cbc",将视频文件加密解密压缩,用到的技术有gzip压缩、fs读写文件

    mysql与mssql的md5加密语句

    您可能感兴趣的文章:MySQL加密和解密实例详解Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享PHP MySQL应用中使用XOR运算加密算法分享MySQL 加密/压缩函数mysql双向加密解密方式用法详解MySQL 整表加密...

    V8引擎脚本演示jother解码

    我理解是,javascript中使用少量特定字符对匿名函数进行编码加密。其中少量的特定字符包括:“+”、“!”、“(”、“)”、“[”、“]”、“{”、“}"。由此可见,1、递归在编码过程中是必须的。2、编码压缩率大于...

    gamecompjs:应用和删除DOS游戏使用的压缩和加密算法

    通常,它用于压缩和解压缩游戏数据,以及对其进行加密和解密。 支持的算法 压缩 cmp-lzexe:LZEXE .exe文件(仅解压缩,等效于UNLZEXE) cmp-lzss:通用LZSS(Lempel-Ziv-Storer-Szymanski) cmp-lzw:通用LZW...

    基于python的端对端加密数据库 ZeroDB开源啦.zip

    它的客户端负责数据库逻辑,数据加密、解密和压缩 都发生在客户端,服务器端对于数据、数据的结构或次序不知情。开发者发布了一个Python实现,将在不久后发布JavaScript客户端。  标签:数据库

    czip:压缩和加密文件和文件夹

    压缩和加密文件和文件夹 安装 npm install czip -- global 加密 item&gt; item.czip czip - e item 解密 item.czip&gt;项目 czip - d item // WRONG: czip d item.czip 密码正确吗? czip - p item 退出快捷方式: ...

    CryptoJS.zip

    AES算法是一种典型的对称加密算法,不同于md5这种摘要算法是不可逆的,AES是可以通过秘钥解密的,一般用于对私密信息的保密。 AES算法中有三个重要的定义:秘钥,加密模式,填充 AES通过秘钥加解密,支持128位,192位...

    Secret_Space_Encryptor_Pro_v2.2.apk

    导入/导出功能可用(压缩的,完全加密的.pwv文件格式或未加密的,可编辑的.xml文件格式)。 ➤文件加密器:安全地加密您的私人和机密文件或整个文件夹。基本文件加密视频教程:https : //youtu.be/asLRhjkfImw ...

    Helper Master

    Public class RSADEncrypt RSA加密解密及RSA签名和验证 Public class SerializeHelper 序列化帮助类 Public class SessionHelper Session操作类 Public class SmtpConfig smtp配置类 Public class SmtpSetting ...

    apycom出品的jQuery精美菜单破解方法

    网址是:http://apycom.com/ 终于给我找着了= =#不过是加密的…… 好吧~马上开始解密~ 希望大家看完以后能够对Javascript的加密解密有一定的了解。 本文只说部分的解密,但也是常用的。 今天以这款为例~ ...

    Secret Space Encryptor Pro 2.0.apk

    导入/导出功能可用(压缩,完全加密的.pwv文件格式或未加密的,可编辑的.xml文件格式)。 ➤文件加密器:安全加密您的私人和机密文件或整个文件夹。基本文件加密视频教程:https://youtu.be/asLRhjkfImw ➤文本...

    C#常用公共类源码(100多个)可以直接使用.rar

    ,加密解密,压缩解压缩,各种验证帮助类,图片,图片操作类,图片验证码,处理多媒体的公共类,处理枚举类,字符串,对象转换处理,帮助文档,序列化,异步线程,弹出消息类 ,数据展示控件绑定数据类,文件操作类,日历,日志,时间戳...

    cryptoform:使用PGP加密的端到端加密Web表单

    含有序列化形式的数据和所有连接文件中的数据文件是压缩在一起成为使用单个压缩文件 (在存储器中,还未有任何上传) 使用或将zip文件加密为一个(或多个)公共PGP密钥zip文件将被丢弃,加密的zip文件将被传输到...

    browser-power:可以在浏览器中运行的客户端javascript展示

    浏览器中的文件工具为了构建这些工具,我不得不利用一些很棒的开源javascript库: 用于高效下载文件用于访问不同浏览器上的流功能-用于有效地加密和散列文件使用zlib进行快速压缩文件加密和解密文件加密使用AES-GCM...

    松鼠HTML编辑器 v1.3.5.16 官方版.zip

    可对网页进行加密解密处理 快速窃取需要查看网页地址的源文件 内置时间,大小写,可颜色取值器等工具插件 更新日志 增加: 1.增加了 最小化释放内存 2.可以 定制自己的独特方案(这是升级为1.3的主要原因) ...

    About_Node:学习笔记:有关nodejs的一些示例和摘要

    About_Node 1.clawer:nodejs相关的爬虫总结 2.require_way:nodejs模块的加载方式 3.clawer_github_stars:...9.stream nodejs流知识学习(输入输出流,加密解密,压缩解压) 10.graphql Koa+Myql(docker)+graphql相关

Global site tag (gtag.js) - Google Analytics