`

js、css处理工具【压缩、加密、混淆】

阅读更多

/**
 * js、css处理工具【压缩、加密、混淆】
 *
 * 需要 yuicompressor-2.4.2.jar支持
 *
 */

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

import com.yahoo.platform.yui.compressor.CssCompressor;
import com.yahoo.platform.yui.compressor.JavaScriptCompressor;

/**
 * js、css处理工具【压缩、加密、混淆】
 * 
 * 需要 yuicompressor-2.4.2.jar支持
 * 
 *
 */
public class JsCssPluginsUtil {

	public static final int JS = 0;
	public static final int CSS = 1;
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		String path = "G:/ini.js";
		String topath = "G:/ini_main.js";
		JsCssPluginsUtil.compress(JS, path, topath);
	}

	/**
	 * 压缩方法
	 * @param type
	 * @param path
	 * @param topath
	 * 
	 * md发现一个漏洞 当遇到文件无法解析或有问题时 会报空指针 擦 解决方法 将文件修复为标准无问题  20130119 
	 * 
	 */
	public static void compress(int type, String path, String topath){
		
		if(type == JsCssPluginsUtil.CSS){
			
			InputStreamReader in = null;
			OutputStreamWriter out = null;
			
			try {
				
			in = new InputStreamReader(new FileInputStream(path), "utf-8");
			CssCompressor jsc = new CssCompressor(in);
			//String compressedFileName = file.getParent() + File.separator + name.substring(13);
			out = new OutputStreamWriter(new FileOutputStream(topath), "utf-8");
			
			jsc.compress(out, -1);
			
			
			out.flush();
			
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally{
				
				try {
					in.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				try {
					out.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}else if(type == JsCssPluginsUtil.JS){

			
			InputStreamReader in = null;
			OutputStreamWriter out = null;
			
			try {
			in = new InputStreamReader(new FileInputStream(path), "utf-8");
			JavaScriptCompressor jsc = new JavaScriptCompressor(in, new JavaScriptErrorReporter());
			//String compressedFileName = file.getParent() + File.separator + name.substring(13);
			out = new OutputStreamWriter(new FileOutputStream(topath), "utf-8");
			
			jsc.compress(out, -1, true, true, true, true);
			
			
			out.flush();
			
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally{
				
				try {
					in.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				try {
					out.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		
		}else{
			new Exception("不支持此类型的文件压缩!");
		}
	}
}

 

import org.mozilla.javascript.ErrorReporter;
import org.mozilla.javascript.EvaluatorException;

public class JavaScriptErrorReporter implements ErrorReporter {

	@Override
	public void error(String arg0, String arg1, int arg2, String arg3, int arg4) {
		// TODO Auto-generated method stub

	}

	@Override
	public EvaluatorException runtimeError(String arg0, String arg1, int arg2,
			String arg3, int arg4) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void warning(String arg0, String arg1, int arg2, String arg3,
			int arg4) {
		// TODO Auto-generated method stub

	}

}

 

分享到:
评论

相关推荐

    js、css压缩加密工具

    js、css压缩加密工具,快速批量压缩js和css,混淆加密js

    JS和CSS压缩混淆

    为了提高网站性能和加载速度,开发者通常会进行JS和CSS的压缩和混淆处理。下面将详细介绍这两个过程。 **JS压缩:** JavaScript压缩的主要目的是减小文件大小,从而加快页面加载速度。这通常是通过删除不必要的字符...

    JSCSS压缩工具

    本文将深入探讨JS和CSS压缩工具及其重要性,特别是JS的混淆方式。 **JS压缩工具** JS压缩工具的主要目的是去除代码中的空格、注释和换行,以及进行变量名混淆,从而达到减小文件体积的目的。例如,`hdjso.exe`可能...

    web代码混淆方案.混淆js代码,压缩css代码

    CSS压缩则是通过删除不必要的空格、换行和注释,以及合并重复的选择器来减小文件大小。例如,WRO4J是一个自动化资源管理工具,它可以将多个CSS文件合并为一个,并进行压缩。这样可以减少HTTP请求的数量,提高页面...

    js、css压缩网页demo

    CSS压缩工具有很多,例如Clean-CSS、Autoprefixer、PostCSS等,它们可以有效地处理CSS压缩,同时处理浏览器兼容性问题。 在"js、css压缩网页demo"中,用户可以体验到代码的格式化、压缩、混淆和解混淆功能。格式化...

    基于java的JS和CSS压缩混淆 JsCompressor.zip

    这里我们关注的是一个名为"基于java的JS和CSS压缩混淆 JsCompressor.zip"的工具,它显然是一个使用Java编写的程序,用于实现这个目的。下面我们将深入探讨JS和CSS压缩混淆的概念、原理以及它们为何对提升网站性能至...

    css与js加密法

    在实际应用中,有一些工具可以帮助开发者进行CSS和JS的加密,例如混淆工具如CSS Crunch、CSS Minifier和JS Obfuscator。这些工具可以自动处理加密过程,使得原始代码变得难以理解和重用。然而,需要注意的是,虽然...

    js 压缩工具

    在本压缩包中,提供了适用于JS和CSS压缩的工具,这通常包括Eclipse IDE与Ant构建工具的集成。Eclipse是一款强大的多语言开发环境,支持多种插件扩展,其中就包含了用于前端开发的工具。Ant则是一个Java平台上的构建...

    js混淆 压缩 yuicompressor

    4. **CSS压缩**:除了JavaScript,YUI Compressor还能处理CSS文件,合并多个样式表,并去除其中的空格、注释和冗余的分号。 5. **错误检测**:在压缩过程中,YUI Compressor会检查语法错误,确保压缩后的代码仍能...

    Python爬JS加密处理1

    对于JavaScript的压缩、混淆和加密,Python开发者需要具备一定的JavaScript基础知识,以便理解和重构混淆后的代码。可以使用在线的JavaScript美化工具对混淆的代码进行格式化,使其更易读,然后逐步分析和逆向工程。...

    js/css批量加解密/格式化工具

    该工具提供了批量处理的功能,可以一次性对多个JS或CSS文件进行操作,大大提高了工作效率。以下是对该工具功能的详细解释: 1. **加解密**: - **加密**:通过对源代码进行特定算法的编码,使得原始代码变得难以...

    混淆工具以及说明.rar

    通过安装依赖,编写Gulp任务,我们可以将项目中的JS文件进行混淆处理。源码的提供则让我们有机会看到混淆前后的代码差异,加深对混淆过程的理解。 混淆工具虽然增加了代码的保密性,但也需要注意一些问题: - **...

    混淆压缩

    在IT行业中,"混淆压缩"通常指的是对代码或数据进行的一种处理方式,目的是为了增加其不可读性,保护知识产权,防止未授权的反编译和破解。混淆是针对编程语言如Java、Python或JavaScript等的源码,而压缩则更多地...

    JS 压缩工具 YUICompressorUI-v1.0

    总结来说,YUICompressorUI-v1.0作为一款便捷的JavaScript和CSS压缩工具,极大地简化了前端代码优化的流程,是开发者进行性能提升的重要辅助工具。通过合理使用和配置,可以有效地提升网站的加载速度,提高用户体验...

    webpack 打包压缩js和css的方法示例

    本文详细介绍了使用Webpack进行JS和CSS文件打包与压缩的方法,并提供了配置示例。Webpack是一个现代JavaScript应用程序的静态模块打包器(module bundler),在处理前端资源时非常有用。它通过加载器(loaders)和插件...

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

    2. 设置压缩和加密参数,如压缩级别、是否启用混淆等。 3. 执行打包命令,工具会自动处理所有文件并生成压缩包。 4. 如果需要,可以生成DLL文件,这可能需要额外的编译步骤。 5. 在目标系统上部署DLL和解密模块,...

    WebPack 整个站点JS代码压缩程序(C#源码)

    Webpack 是一个前端模块打包工具,它能够将JavaScript、CSS、图片等静态资源转换并打包成浏览器可执行的格式。在Web开发中,Webpack 提供了一种高效的方式,将项目中的各种模块按照依赖关系进行组织和优化,从而提高...

    fireDebug与js加密格式化工具正则表达式工具下载

    “js加密格式化工具”是指用于JavaScript代码的混淆和格式化工具。JavaScript加密通常是为了保护代码不被轻易读取或修改,这在发布开源软件或商业应用时尤其重要。加密工具会将可读的JS代码转换为难以理解的形式,...

    electron 源码加密

    同时,打包工具还可以进行代码拆分、压缩和混淆,进一步增强源码的安全性。 3. **动态加载**:部分敏感代码可以不包含在主程序包中,而是通过网络动态加载。这种方式使得攻击者无法直接查看这部分代码,但要注意这...

Global site tag (gtag.js) - Google Analytics