2011-01-23 15 views
0

當我們在網頁中寫入JavaScript時,其他用戶可以看到該JavaScript並理解腳本如何工作。我已經看到了幾個網站,其中JavaScript是用這樣一種方式編寫的,用戶可以閱讀腳本,但無法理解它是如何工作的。所以出於安全原因,我如何在瀏覽器可以正確理解&的頁面中加密我的JavaScript,但任何用戶可能無法理解流程。尋找你的建議。關於加密的Javascript

感謝

+0

請注意,用戶可以將javascript放入美化器中。然後他得到可讀的代碼。一些變量名稱當然會丟失,但代碼格式是合理的。 – CodesInChaos 2011-01-23 09:46:37

回答

5

這個過程被稱爲obfuscation,不加密這是不一樣的。這意味着它很難閱讀代碼,但並非不可能。

有許多工具可以讓你實現這個功能,比如:

+0

謝謝,但我想知道,如果我混淆JavaScript然後任何瀏覽器將理解該腳本,並執行完全? – Thomas 2011-01-23 09:39:11

1

如果您使用的是JavaScript庫,但仍想混淆整個代碼庫,以保護您的IP,您可以考慮與Closure Compiler的高級模式兼容的Dojo Toolkit。當然,你也可以使用Closure庫,但是一般來說,Dojo是,比Closure Library更受歡迎(在Google之外),也就是

http://dojo-toolkit.33424.n3.nabble.com/file/n2636749/Using_the_Dojo_Toolkit_with_the_Closure_Compiler.pdf?by-user=t

完全混淆代碼具有完全相同的行爲,純文本代碼,但它是更小,運行速度更快,而且幾乎不可能進行反向工程,即使經過美化後。

只有「縮小」的代碼(例如YUI壓縮器,Uglify)可以在穿過美化器後輕鬆地進行反向設計。