d:tociyuki別館
JavaScriptによるBASE64変換
ASCII文字列をBASE64 (RFC2045)にエンコードしたり、逆にBASE64からASCII文字列にデコードする関数をJavaScriptで記述しました。今のところ、日本語に対応していません。
変換のデモ
使い方: 下のフォームの文字列欄に変換したい文字列を入力して、ボタンを押してください。encodeはBASE64へ符号化し、decodeはBASE64から復合化します。
ダウンロード
このコードはフリーソフトウェアです。このページのデモで使っているJavaScriptのソースコードをダウンロードして自由に無料でご利用ください。改変も好きなようにおやりください。2次配布も断りなくどうぞ。
ソースコード: base64.js
使い方
利用例として、連絡先のメールアドレスをBASE64で記述して、ウィルスやワームのメールアドレス収集プログラムから隠してみます。これらはJavaScriptが生成する前のHTMLのソースから、パターン検出でメールアドレスを抽出しますので素朴ながら一定の効果が期待できます。しかしながら、人間が手でSPAM用にアドレスをコピペで集め回る行為には無力です。
まず初めに、上のフォーム等を利用し、隠したいURLをBASE64に変換しておきます。
'mailto:foo@bar.baz.hoge'をBASE64へ -> 'bWFpbHRvOmZvb0BiYXIuYmF6LmhvZ2U='
これを使ってJavaScriptでメールアドレスをHTMLのエレメントとして生成します。ついでに、自分自身へのリンクも作ることにします。実際にやってみると、のようになります。リンクにする必要がない場合は、t.link(t)の部分をtに変えると、 のようになります。
このHTMLファイルのヘッダ部と上のパラグラフを抜き出すと、次のように記述してあります。
<html xmlns="http://www.w3.org/1999/xhtml"> <head> … <script language="JavaScript" src="base64.js"></script> <script language="JavaScript">//<![CDATA[ var t=base64decode('bWFpbHRvOmZvb0BiYXIuYmF6LmhvZ2U='); //]]></script> </head> <body> … 実際にやってみると、<script language="JavaScript">//<![CDATA[ document.write(t.link(t)); //]]></script>のようになります。リンクにする必要がない場合は、t.link(t)の部分をtに変えると、 <script language="JavaScript">//<![CDATA[ document.write(t); //]]></script>のようになります。 … </body> </html>
この例では、base64.jsはHTMLファイルと同一階層に格納しています。