`
天梯梦
  • 浏览: 13730814 次
  • 性别: 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混淆,javascript压缩,javascript加密软件

    "javascript混淆"、"javascript压缩"和"javascript加密"就是针对这一需求的三个关键概念。 **JavaScript混淆**: 混淆JavaScript代码的主要目的是为了增加攻击者逆向工程的难度,防止代码被轻易理解和篡改。混淆...

    php+uni-app AES加密解密.rar

    在uni-app中,可以使用JavaScript的crypto-js库来实现AES加密解密。首先,你需要通过HBuilderX引入该库,然后在uni-app代码中使用: ```javascript const CryptoJS = require('crypto-js'); const key = 'your_...

    JavaScript加密解密的七种方法

    JavaScript加密解密技术是网页开发中保护代码不被轻易复制的一种策略。虽然JavaScript代码在浏览器中执行,使得绝对保密变得困难,但是通过各种加密手段,可以增加破解的难度。以下介绍七种JavaScript加密方法: 1....

    RSA加密解密之javascript与java配套源码.zip

    在提供的压缩包中,有两个Java文件(RSACrypt.java和RSACryptTest.java)和一个JavaScript文件(jsencrypt.min.js),这表明代码实现了RSA加密解密的Java版本和JavaScript版本,可以在客户端和服务端之间进行安全的...

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

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

    js的packed加密解密

    总之,JavaScript的packed加密解密是一个复杂但有趣的领域,涉及到代码安全、逆向工程和编程技巧等多个方面。通过深入学习和实践,我们可以更好地应对这类挑战,保护自己的代码不被滥用,同时也能够分析和理解他人的...

    js加密、解密、编码等工具合集

    接下来是JavaScript的加密解密。在网络安全中,加密是保护数据隐私的重要手段。JavaScript提供了多种加密库,例如CryptoJS,它可以实现AES、DES、RSA等加密算法。AES(Advanced Encryption Standard)是一种对称加密...

    javascript文件解密

    本篇文章将深入探讨JavaScript加密解密的原理、方法以及如何学习这方面的知识。 首先,JavaScript加密通常涉及两种主要类型:源代码混淆和数据加密。源代码混淆是通过改变变量名、函数名和结构,使代码变得难以阅读...

    Aes256密码加密解密.rar

    这个压缩包"Aes256密码加密解密.rar"包含了一个与AES256相关的工具类,以及用于前端和后端的加密和解密方法。文件列表中的"aes256.min.js"很可能是一个优化过的JavaScript库,用于在浏览器环境中执行AES256加密和...

    EXTJS 目录文件打包压缩工具 并可加密解密

    “加密解密”功能则增加了额外的安全层。通过对打包后的文件进行加密,可以防止未经授权的访问和篡改,确保代码不被轻易逆向工程。解密过程则是在应用程序运行时,根据特定的密钥或算法将加密的代码还原为可执行的...

    javascript 代码加密器(web版)

    3. **加解密算法**:使用AES、RSA等加密算法对JavaScript代码进行加密,然后在目标环境(通常是浏览器)中使用对应的密钥进行解密。这种方式可以提高安全性,但需要考虑解密过程对性能的影响。 4. **运行时保护**:...

    JSA压缩(加密)代码解压(解密)

    《JSA压缩(加密)代码解压(解密)详解》 在信息技术领域,数据压缩与加密是两个至关重要的概念,它们广泛应用于数据存储、传输和安全保护中。本文将聚焦于一种名为JSA的压缩和加密技术,通过深入解析其工作原理,...

    javascript脚本加密系统

    3. **自定义加密算法**:开发者可以设计自己的加密算法,将JavaScript代码加密后存储,然后在客户端解密执行。这种方式需要在浏览器端实现解密逻辑,增加了攻击者的破解难度,但同时也可能导致性能下降。 4. **使用...

    java RSA加解密 zip加解密, js MD5 SHA1 RSA加密

    本文将深入探讨Java中的RSA加解密、ZIP加密压缩以及JavaScript中的MD5、SHA1和RSA加密算法。这些技术在网络安全、数据传输、用户认证等多个领域中广泛应用。 首先,我们来看RSA加密算法。RSA是一种非对称加密算法,...

    Base64加密解密

    3. **JavaScript中的Base64加密解密** `jquery.base64.js`是一个JavaScript库,它提供了Base64的编码和解码功能,可能与jQuery库兼容。在JavaScript中,没有内置的Base64支持,所以通常需要依赖第三方库。例如,这...

    crypto-js加密解密全部资源包,jquery-2.2.4.min也附在里面方便大家使用

    这个压缩包“crypto-js加密解密全部资源包”提供了一整套的JavaScript加密库,使得开发者无需依赖Google等外部资源就能实现数据的安全处理。其中包含的主要组件有jQuery 2.2.4的迷你版本,以及各种加密算法的实现,...

    基于PHP的代码加密解密在线版.zip

    通过解压这个文件,用户可以获取到实现代码加密解密服务的源代码、配置文件、数据库脚本、样式表、JavaScript文件以及可能的文档说明等。 【标签】"PHP"表明这个项目是用PHP语言编写的。PHP是一种广泛使用的开源...

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

    在现代Web开发中,为了提高页面加载速度和安全性,HTML加密解密、代码压缩优化以及防止浏览器拦截成为重要的技术话题。本课程重点关注这些方面,特别是针对HTML、JavaScript前端代码的处理。 首先,我们来探讨HTML...

    基于PHP的代码加密解密在线版源码.zip

    【标题】:“基于PHP的代码加密解密在线版源码.zip”揭示了这是一个与PHP编程相关的项目,重点在于代码的加密和解密功能。在PHP开发中,代码加密是保护源代码不被轻易查看和篡改的重要手段,而解密则是运行时还原...

Global site tag (gtag.js) - Google Analytics