学习如何使用Crafter CMS构建现代数字体验应用程序。现在电子书下载。与Crafter软件合作带来的。 在这篇文章中,我们将讨论更多的混淆,在哪里使用它,以及它的优点。 困惑是什么? 混淆是故意制造混淆代码的行为,即让人难以理解的源代码或机器码。它类似于加密,但机器能够理解代码并能够执行:它。 我们将用来混淆JavaScript代码的url: http://closure-compiler.appspot.com/home http://www.danstools.com/javascript-obfuscate/ 使用danstools困惑。 原始代码:
混淆后(编者按:此代码块已被格式化为可读性。在这个代码块下面的屏幕截图中可以看到原始的混淆代码):
两个程序的输出将是相同的:
混淆可以用来隐藏来自外部世界的业务逻辑,它将大大减少文件的大小,因此服务器和客户机之间的数据传输速度会很快。 缩小化也是一种混淆,在这里清空空空间,并重新命名变量。 例子: 缩小文件: https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular.min.js 原始文件: https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular.js 为什么开源项目会被混淆? 代码大小将会减少。 在JavaScript中,下载时间会减少 大多数开源JavaScript项目都是为了减少下载时间和代码大小而缩小的。在缩小过程中,将生成一个缩小的文件和一个映射文件。使用映射文件,可以检索实际的代码。上面的角的映射文件文件将是:https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular.js.map 为什么困惑? 代码大小将会减少。 将业务逻辑和代码隐藏起来。 逆向工程是非常困难的。 在JavaScript中,下载时间将会减少。 例子:
模糊= =加密? 不,困惑!=加密。 在JavaScript中,浏览器不能执行加密的代码,而浏览器会执行混淆代码。 加密的代码总是需要解密才能被执行。 混淆的代码不需要去混淆来执行。 总之,混淆JavaScript代码很好。 |