怎么使用yuicompressor2.4.2.jar进行js,CSS进行代码混淆

html-css021

怎么使用yuicompressor2.4.2.jar进行js,CSS进行代码混淆,第1张

1、下载 yuicompressor 包

下载 yuicompressor-2.4.2.zip 资源包,解压后 yuicompressor-2.4.2.jar 在 yuicompressor-2.4.2/build 目录下。

2、创建build-yui.xml 文件

然后创建ant 运行的文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<project name="MyTask" basedir="." default="compress-css">

<property name="src.dir" value="./src"/>

<target name="compress-js">

<apply executable="java" parallel="false" failonerror="true"

dest="${src.dir}/dest"

append="false" force="true">

<fileset

dir="${src.dir}"

includes="js/**.js" />

<arg line="-jar" />

<arg path="yuicompressor-2.4.2.jar" />

<arg line="--charset utf-8" />

<srcfile />

<arg line="-o" />

<mapper type="glob" from="*.js" to="*.js" />

<targetfile />

<arg line="--nomunge" /><!--只压缩去掉空格,不混淆-->

</apply>

</target>

<target name="compress-css">

<apply executable="java" parallel="false" failonerror="true"

dest="${src.dir}/dest"

append="false" force="true">

<fileset

dir="${src.dir}"

includes="css/**.css" />

<arg line="-jar" />

<arg path="yuicompressor-2.4.2.jar" />

<arg line="--charset utf-8" />

<srcfile />

<arg line="-o" />

<mapper type="glob" from="*.css" to="*.css" />

<targetfile />

</apply>

</target>

</project>

3、运行ant

在dos下运行命令:ant -buildfile build-yui.xml 命令。

注:目标目录必须存在,否则会报错。

css代码是不可以加密的,首先css有别于javascript代码,是因为javascript自带有函数可以加密解密(可以百度一下js加密解密原理)。而css只能说压缩一些空格和换行,并不能真的去加密,因为没有解密的函数或者插件,没有解密方法自然也就没有加密这一说。

首先JS是客户端(浏览器)运行的语言,和css html一样是明文可见的,js目前只能做到使用eval混淆,百度搜索“JS压缩”第一个应用就可以做到混淆和反混淆。另外还有一种方式,针对某些编译器编程,在此就说编译器吧,比如google的,其实只是一个优化器。这样优化出来的代码阅读性很差,代码冗余量很低,性能也是相对来说比较好的。

但是强调一点,js是明文可见的,只能混淆,让阅读新降到最低,如果和密码一样加密传输的,浏览器获得的是密文的话,就无法执行,直接报错啦!