人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

FlashとJavascriptで簡単な暗号化(難読化)の方法は?

FlashからJavascriptに数字をわたすというものを作っているのですが、
渡す数字をぱっと見ただけではわからないようにしたいと思っています。

当初、16進数への変換を考えていましたが、数字が10桁を超える場合もあるため、
「JavascriptでParseIntが正常に動かない」ことがあり、困っています。

何か、数字を暗号化(難読化)する方法で、Flashから渡したものをJSでデコードできるものはないでしょうか?

●質問者: dingding
●カテゴリ:インターネット ウェブ制作
✍キーワード:Flash JavaScript js デコード 数字
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● khoshi3
●30ポイント

簡単な暗号(難読化)でよいのであれば、BASE64でエンコード・デコードされるのはいかがでしょうか? 数値に限らず文字列に対し使えます。

「00000123」をBASE64エンコードすると、「MDAwMDAxMjM=」となり、デコードで戻せます。

下記にjavascriptとFlash用のライブラリが公開されています。

http://www.onicos.com/staff/iz/amuse/javascript/expert/

http://fsozai.hp.infoseek.co.jp/AS/library/base64.html

ただしエンコード文字列には'+'と'/'が含まれるのでURL内に記載するときは注意が必要です。

http://ja.wikipedia.org/wiki/Base64

また、16進数でもそうですが、エンコードされた文字列はだれでもデコードできてしまうので、簡単じゃない暗号化をしたい場合には、

数値文字列をあらかじめなんらかの暗号をかけてからBASE64化する、Blowfishなどの暗号専用の仕組みを使う、など、別の手段が必要と思います。

◎質問者からの返答

ありがとうございます。文字列も使えるのはありがたいです。

しかし、URLに使いたかったので、もしかしたらまずいかもしれないです。

'+'と'/'を使われなくする方法はあるのでしょうか?


2 ● khoshi3
●30ポイント

先ほどの回答に補足いたします。

>'+'と'/'を使われなくする方法はあるのでしょうか?

64文字あるうち、記号は2つのみなので、

で大丈夫です。(私が以前ファイル名用にBASE64エンコードを使ったときは、('-','_')にしました。)

◎質問者からの返答

ありがとうございます。

これで解決できそうです。


3 ● KUROX
●20ポイント

XOR暗号なんか手軽ですけどね。

http://www.geocities.jp/ky_webid/algorithm/018.html

◎質問者からの返答

できれば、サンプルが見てみたいです。

Javascriptで「1234」をXOR暗号化するにはどうすればいいのでしょうか?

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ