「見えにくくする」「読みにくくする」ではなく「暗号化」です。
解読は極めて困難。
解読はできるが数ヶ月は必要。
という方法を探しています。
これが無理でしたら、それに近い方法でも構いません。
よろしくお願いします。
「難読化」と「暗号化」は全く違います。
「簡単に暗号化」などと紹介されているものは、若干不安が残りますが、
私が知る限り、JavaScriptを暗号化できる「商用ツール」は思いつきません。
メーカーサポートを受ける必要が無いのであれば、色々ありますよ。
その一例を紹介。
●使用者をIEに限定するのであれば、下記のような暗号化ツールがあります。
http://www.microsoft.com/downloads/details.aspx?FamilyID=2976ee9...
使い方説明など
http://www.atmarkit.co.jp/fwin2k/win2ktips/443wshenc/wshenc.html
●その他、暗号化方式によって色々とパターンがあります。
下記のサイトではいくつかの暗号化方式に関するものが紹介されています。
http://user1.matsumoto.ne.jp/~goma/index.html
●下記サイトはDESもしくは3DESによる暗号化です。
http://www.tero.co.uk/des/code.php
【備考】
対象がPHPであればPHPScrewやIonCubeが機密性が高く有名どころではあります。
どのツールを使うにしても、現存する暗号方式はいつかは破られる運命にあるので、
ある程度のタイミングで時流にあった暗号化方式を採用したツールを使う必要がありますね。
ありがとうございます。
/packer/
http://dean.edwards.name/packer/
で、Base62 encodeとShrink variablesのオプションを付けると、かなり解読が難しくなります。
しかし、基本的にクライアント側で実行されるものなので、クライアントJSを暗号化することは不可能です。
(サーバサイドJSのことではないですよね。)
ここまでは、たぶん、上記の方々が回答されてるでしょうから、便利なサイトを。
http://compressorrater.thruhere.net/
各種、難読化ツールから、容量が小さくなるものを調べて圧縮・難読化してくれます。
ありがとうございます。
↓この辺は参考になるのではないかと。
http://phpspot.org/blog/archives/2006/02/javascriptdes.html
http://www.faireal.net/articles/8/01/
ほかにも関連するネタが、下記にまとまっています。
http://js.designlinkdatabase.net/data/search_200001_1_1_1_0_0_0_...
ありがとうございます。
暗号化はできるでしょう。色々やり方はあります。
しかし、最終的には実行する前に必ず「復号/解読」しないと実行できませんので、そのタイミング(必ずdocument.writeなどで復号したものを吐き出す処理が必要になる)を押さえて解読されてしまいます。
従って、どんなに難読化や暗号化をしても慣れた人の手にかかれば数分で解読できてしまいます。
参考:“難読化”されたJavaScriptをIE7で解読する:ITpro (デバッガを応用して解読した瞬間を横取りする例。暗号化でも同じ)
ありがとうございます。
ありがとうございます。