HTML CSS minify | JS難読化

対象タイプ  

オプション   minify  shrink  obfuscate
利用方法
  • 『変換前』にHTML / CSS / JavaScript を入力してください。入力が止まると、対象タイプとオプションに合わせて自動的に変換されます。変換している間は、『変換後』の欄に「変換中…」と表示されます。変換が終わると、『変換後』の欄の下に変換前と変換後のサイズ(UTF-8 のバイト数)と、削減できた割合が表示されます。
  • 変換できなかったときは、『変換後』の欄の上に「変換できませんでした」と理由が表示されます。
  • 入力は 1 MiB(UTF-8 のバイト数)までです。超えるときは、小さく分けて変換してください。
  • JavaScript はオプションを変更することで難読化 ( Shrink / Obfuscate ) できます。対象タイプが HTML のときは、<script>〜</script> の中だけが JavaScript として扱われ、オプションが効きます。<script> の無い JavaScript だけの入力は、対象タイプで JavaScript を選んでください。
  • HTML の部分と <style>〜</style> の中の CSS、および対象タイプが CSS のときは、minify のみです。
minifyについて
  • HTML / CSS / JavaScriptをminify変換します。minifyとは「データ容量の削減」のためのファイルサイズ圧縮テクニックです。 HTML / CSS / JavaScriptには、何も対処をしていない場合、ブラウザ描画には必要のない改行や空白・コメントが含まれています。 これらを取り除きファイルサイズを削減するのがファイル圧縮(minify)です。
難読化について
  • 難読化コード(Obfuscated code)とは、コンピュータプログラムにおいて、その内部的な動作の手続き内容・構造・データなどを人間が理解しにくい、 あるいはそのようになるよう加工されたソースコードやマシンコードのことです。
  • 下記のような目的で難読化が利用されます。
    1. コードの目的を隠蔽したり、改竄(タンパリング)やリバースエンジニアリングを阻止するため。
    2. コードを解読するもののためのパズルや娯楽として。
    3. ソースを見られるのがちょっぴり恥ずかしい...
オプションについて
  • minifyによりブラウザ描画には必要のない改行や空白・コメントが取り除かれ、ファイルサイズは圧縮されますが、オプションを変更することで更にコードを解読し難くできます。
    『minify』を選択した場合はファイル圧縮のみを行います。
    『shrink』を選択するとJS内の変数名や関数名を簡略変換します。(minify + 簡易難読化)
    『obfuscate』を選択するとBase62エンコードで難読化を行います。(minify + 難読化)
    元に戻すための処理(約250バイト)が付け加わるため、短いコードでは変換前より長くなります。十数KB以上のコードでは、繰り返し現れる語をまとめるため、『shrink』より小さくなることがあります。
    import / export を使うコード(type="module" の <script> など)は、『obfuscate』を選ぶと全体が eval で包まれ、ブラウザで動かなくなります。この場合は『minify』か『shrink』を選んでください。
    対象タイプを HTML にすると、HTML の部分と style 内の CSS は minify し、script 内の JavaScript は選んだオプションで変換します。
    script・style の外に CSS や JavaScript を書いた場合など、希望通りの結果にならないときは、それぞれにわけてminifyや難読化を行ってください。
  • Base62エンコードにおける難読化ロジックは 『 /packer/ 』 を利用しています。
免責事項
当サイトをご利用したことによる、またはご利用になれないことにより生じるトラブルや損害には、当方は一切の責任を負いません。

text_fields テキスト・変換 のほかのツール