2014-02-25 40 views
1

我正在通過學​​習許多文件.js來學習javascript,但我什麼都不懂。他們中的許多開始於:Javascript(js)是如何加密和解密的?

(function(){var aa=encodeURIComponent,f=window,ba=setTimeout,n=Math,ea=RegExp;function fa(a,b){return a.name=b}function Pc(a,b){return a.href=b}... 

我認爲這是一種加密代碼的方法來保護。我對嗎?如果這是真的,我該怎麼做?如果我想解密它,請告訴我該怎麼做。 謝謝。 p/s:我是新手

+2

這些都是縮小的JavaScript。你可以谷歌縮小js以獲取更多信息 – Akhlesh

+0

目標僅僅是讓文件變小(並且一些縮小器也可以使它們更快地執行)。 –

+1

有幾件事情可以晦澀的JavaScript,一個是縮小和其他混淆。在第一種情況下(minifaction),你總是可以使用某種類型的javascript格式化程序來獲得更清晰的JS版本(比如http://jsbeautifier.org/),但是使用混淆技術難以理解代碼,因爲它使用技巧來製作代碼不可讀(它仍然可以更改/修改,甚至提取)。 –

回答

3

你不能真正加密javascript。你可以混淆這使得它難以閱讀和縮小(這是arguebly也難讀,但更重要的是有一個更小的佔地面積)

縮小

http://jscompress.com/就是這樣一個minifier。

如果你想混淆你的代碼(從而使其難以閱讀,但不能使它更小(實際上通常你最終字節),你可以看看這個:

混淆

http://javascriptobfuscator.com/

BEAUTIFY

大號這裏的評論說,爲了解密這段代碼,你可以去http://jsbeautifier.org/。雖然當它被混淆時,它不會對你有好處。

+0

謝謝。你知道如何使它變得像(函數(){var aa = encodeURIComponent,f = window,ba = setTimeout,n = Math,ea = RegExp; function fa(a,b){return a.name = b}函數Pc(a,b){return a.href = b} –

+0

使用http://javascriptobfuscator.com/來混淆 – spassvogel

+0

* for * beautify *(: –

1

的代碼,你提出:

(function(){var aa=encodeURIComponent,f=window,ba=setTimeout,n=Math,ea=RegExp;function fa(a,b){return a.name=b}function Pc(a,b){return a.href=b}... 

JavaScript縮小。您可以使用工具,如jscompress用於縮小率

而不是加密混淆用於JavaScript它是用來保護你的代碼使其難以閱讀和理解。有工具obzzuscation以及。退房javascriptobfuscator

+0

謝謝。我在閱讀代碼時發現自己是個傻瓜(a,b){var c = n.min(R(a,dc))函數中包含a,bc,Ig,c> 0,a-1 ... :(如:{var gc = ),100);如果(!(LA(P(A,Q))%100> = C)&&(C = {},的Ec(C)| ..} –

0

這意味着file.js的縮小版本Compresd JavaScript文件

你必須努力縮小的版本轉換成普通的JS文件,但我們有一些工具見下文..

http://jsbeautifier.org/