当前位置: 首页 > news >正文

外贸网站建设加推广建设行业年度峰会网站

外贸网站建设加推广,建设行业年度峰会网站,做 了一个 家教 网站,网站开发技术创业计划Webpack和JShaman相比有什么不同? Webpack的功能是打包,可以将多个JS文件打包成一个JS文件。 JShaman专门用于对JS代码混淆加密,目的是让JavaScript代码变的不可读、混淆功能逻辑、加密代码中的隐秘数据或字符,是用于代码保护的…

Webpack和JShaman相比有什么不同?

Webpack的功能是打包,可以将多个JS文件打包成一个JS文件。

JShaman专门用于对JS代码混淆加密,目的是让JavaScript代码变的不可读、混淆功能逻辑、加密代码中的隐秘数据或字符,是用于代码保护的。

两者是完全不同的。但是,因为Webpack打包生成的JS文件,看起来似乎也有一些混淆特征,因此常被一些人误以为它也是混淆工具,事实上,它当然不是。

下面用实例演示两者差别:

本例中,使用两个文件,example.js和mod.js。

Example.js文件代码

var mod = require("./mod.js");
mod.fun();
console.log("done.");

Mod.js文件代码

exports.fun = function (){
var name = "Tom"
var age = 100;
console.log(name + " is " + age + " years old.");
}

代码逻辑非常简单,example.js调用mod.js中的函数,运行时会输出两行信息,如下图所示。

接下来,演示Webpack打包效果和JShaman混淆效果。

Webpack打包

用于webpack打包的配置文件,webpack.config.js文件内容如下。

const path = require('path');
module.exports = {
entry: './example.js',
output: {
path: path.resolve(__dirname, ''),
filename: 'bundle.js',
},
};

入口文件是example.js,打包目标文件是bundle.js。在命令行中完成打包操作,如下图所示。

此时生成了bundle.js文件,用node执行也与之前运行输出相同,bundle.js文件内容如下图所示。

可以看出bundle.js中包含了之前example.js和mod.js中的代码,webpack是将这两文件合并成了一个bundle.js文件。

bundle.js文件代码中能明显的看到console.log("Tom is 100 years old.")和console.log("done.")语句,功能逻辑清晰。

JShaman混淆

如果使用JShaman对example.js和mod.js文件代进行JavaScript代码混淆。

Mod.js文件代码会变成如下形式。

exports['\x66\x75\x6e']=function(){var _0xc2938d="2|3|4|0|1|5|6".split("|"),_0x6c3a8e=0;while(!![]){switch(+_0xc2938d[_0x6c3a8e++]){case 0:var _0xd5b0a;continue;case 1:var _0xadb4fb=function(s,h){return s^h;}(591416,591452);continue;case 2:var _0x74a25f=function(s,h){return s+h;}(135763^135765,747847^747855);continue;case 3:var _0x="moT"['\x73\x70\x6c\x69\x74']("")['\x72\x65\x76\x65\x72\x73\x65']()['\x6a\x6f\x69\x6e']("");continue;case 4:_0x74a25f=function(){return"_0xc3f35e912";}();continue;case 5:_0xd5b0a=function(){return"_0x28dbg8912";}();continue;case 6:console['\x6c\x6f\x67'](_0x+" si "['\x73\x70\x6c\x69\x74']("")['\x72\x65\x76\x65\x72\x73\x65']()['\x6a\x6f\x69\x6e']("")+_0xadb4fb+".dlo sraey "['\x73\x70\x6c\x69\x74']("")['\x72\x65\x76\x65\x72\x73\x65']()['\x6a\x6f\x69\x6e'](""));continue;}break;}};

Example.js代码会变成如下形式。

var _0xeb79bb;var mod=require("sj.dom/."['\x73\x70\x6c\x69\x74']("")['\x72\x65\x76\x65\x72\x73\x65']()['\x6a\x6f\x69\x6e'](""));_0xeb79bb=function(){return"_0x4f92c9912";}();mod['\x66\x75\x6e']();console['\x6c\x6f\x67'](".enod"['\x73\x70\x6c\x69\x74']("")['\x72\x65\x76\x65\x72\x73\x65']()['\x6a\x6f\x69\x6e'](""));

webpack打包后能看到的console.log("Tom is 100 years old.")和console.log("done.")语句,JShaman混淆后不会出现的。

总结

Webpack用于打包文件,将多个JS文件变成一个。

JShaman用于混淆JavaScript代码,使代码不可读。

http://www.yayakq.cn/news/645063/

相关文章:

  • 公司网站建设需要准备哪些资料天机seo
  • 株洲建设公司网站怎么样模仿一个网站做简历
  • 温州网站维护工作自己怎么做网站优化
  • 手机上有那种网站吗wordpress修改固定连接插件
  • 手机网站建设流程延安城乡建设规划局网站
  • 选择郑州网站建设网站开发可以当程序员
  • 网站开发客户提供素材深圳教育集团网站建设
  • 网络营销课程速成班seo关键词优化最多可以添加几个词
  • 网站没有index.htmlwordpress eclipse
  • 商城类网站和o2o网站做一个一般的网站需要多少钱
  • 城乡建设网站职业查询网站收录软件
  • 网站推广国外wordpress rss采集插件
  • 广州仿站定制模板建站百度seo软件首选帝搜软件
  • 芒果tv网站建设的目标wordpress登录微信插件下载
  • 和平网站制作威海吧
  • 漳州北京网站建设网站大图怎么做更吸引客户
  • 山东建设厅官方网站李兴军wordpress 教程 pdf
  • 网站排名优化如何做wordpress latex 2017
  • 合肥制作网站公司企业一号wordpress主题
  • 数学网站怎么做WordPress插件做成主题代码
  • 生活分类信息网站大全线上超市购物平台有哪些
  • 网站肯定被k长春网站开发招聘
  • 承接做网站开放平台设计
  • 江苏省建设斤网站万网创始人与慧聪网
  • 哪些网站做任务好赚钱大连网站制作.net
  • 网站制作公司美股上市支付宝网站开发
  • 武陟住房和城乡建设局网站广州建设工程交易中心主任
  • 和什么人合作做游戏视频网站百度地图导航手机版免费下载
  • 在哪些网站可以发布推广信息wordpress mysql 崩溃
  • 网站建设内容保障制度同城装修网