/**
* 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
为了提高网站性能和加载速度,开发者通常会进行JS和CSS的压缩和混淆处理。下面将详细介绍这两个过程。 **JS压缩:** JavaScript压缩的主要目的是减小文件大小,从而加快页面加载速度。这通常是通过删除不必要的字符...
本文将深入探讨JS和CSS压缩工具及其重要性,特别是JS的混淆方式。 **JS压缩工具** JS压缩工具的主要目的是去除代码中的空格、注释和换行,以及进行变量名混淆,从而达到减小文件体积的目的。例如,`hdjso.exe`可能...
CSS压缩则是通过删除不必要的空格、换行和注释,以及合并重复的选择器来减小文件大小。例如,WRO4J是一个自动化资源管理工具,它可以将多个CSS文件合并为一个,并进行压缩。这样可以减少HTTP请求的数量,提高页面...
CSS压缩工具有很多,例如Clean-CSS、Autoprefixer、PostCSS等,它们可以有效地处理CSS压缩,同时处理浏览器兼容性问题。 在"js、css压缩网页demo"中,用户可以体验到代码的格式化、压缩、混淆和解混淆功能。格式化...
这里我们关注的是一个名为"基于java的JS和CSS压缩混淆 JsCompressor.zip"的工具,它显然是一个使用Java编写的程序,用于实现这个目的。下面我们将深入探讨JS和CSS压缩混淆的概念、原理以及它们为何对提升网站性能至...
在实际应用中,有一些工具可以帮助开发者进行CSS和JS的加密,例如混淆工具如CSS Crunch、CSS Minifier和JS Obfuscator。这些工具可以自动处理加密过程,使得原始代码变得难以理解和重用。然而,需要注意的是,虽然...
在本压缩包中,提供了适用于JS和CSS压缩的工具,这通常包括Eclipse IDE与Ant构建工具的集成。Eclipse是一款强大的多语言开发环境,支持多种插件扩展,其中就包含了用于前端开发的工具。Ant则是一个Java平台上的构建...
4. **CSS压缩**:除了JavaScript,YUI Compressor还能处理CSS文件,合并多个样式表,并去除其中的空格、注释和冗余的分号。 5. **错误检测**:在压缩过程中,YUI Compressor会检查语法错误,确保压缩后的代码仍能...
对于JavaScript的压缩、混淆和加密,Python开发者需要具备一定的JavaScript基础知识,以便理解和重构混淆后的代码。可以使用在线的JavaScript美化工具对混淆的代码进行格式化,使其更易读,然后逐步分析和逆向工程。...
该工具提供了批量处理的功能,可以一次性对多个JS或CSS文件进行操作,大大提高了工作效率。以下是对该工具功能的详细解释: 1. **加解密**: - **加密**:通过对源代码进行特定算法的编码,使得原始代码变得难以...
通过安装依赖,编写Gulp任务,我们可以将项目中的JS文件进行混淆处理。源码的提供则让我们有机会看到混淆前后的代码差异,加深对混淆过程的理解。 混淆工具虽然增加了代码的保密性,但也需要注意一些问题: - **...
在IT行业中,"混淆压缩"通常指的是对代码或数据进行的一种处理方式,目的是为了增加其不可读性,保护知识产权,防止未授权的反编译和破解。混淆是针对编程语言如Java、Python或JavaScript等的源码,而压缩则更多地...
总结来说,YUICompressorUI-v1.0作为一款便捷的JavaScript和CSS压缩工具,极大地简化了前端代码优化的流程,是开发者进行性能提升的重要辅助工具。通过合理使用和配置,可以有效地提升网站的加载速度,提高用户体验...
本文详细介绍了使用Webpack进行JS和CSS文件打包与压缩的方法,并提供了配置示例。Webpack是一个现代JavaScript应用程序的静态模块打包器(module bundler),在处理前端资源时非常有用。它通过加载器(loaders)和插件...
2. 设置压缩和加密参数,如压缩级别、是否启用混淆等。 3. 执行打包命令,工具会自动处理所有文件并生成压缩包。 4. 如果需要,可以生成DLL文件,这可能需要额外的编译步骤。 5. 在目标系统上部署DLL和解密模块,...
Webpack 是一个前端模块打包工具,它能够将JavaScript、CSS、图片等静态资源转换并打包成浏览器可执行的格式。在Web开发中,Webpack 提供了一种高效的方式,将项目中的各种模块按照依赖关系进行组织和优化,从而提高...
“js加密格式化工具”是指用于JavaScript代码的混淆和格式化工具。JavaScript加密通常是为了保护代码不被轻易读取或修改,这在发布开源软件或商业应用时尤其重要。加密工具会将可读的JS代码转换为难以理解的形式,...
同时,打包工具还可以进行代码拆分、压缩和混淆,进一步增强源码的安全性。 3. **动态加载**:部分敏感代码可以不包含在主程序包中,而是通过网络动态加载。这种方式使得攻击者无法直接查看这部分代码,但要注意这...