• ベストアンサー

PHPで変数を暗号化する方法

PHPで、変数を暗号化したいのですが、 いい方法が有ればぜひ教えて頂きたいです。 たとえば http://abc.com/index.php?id=123 というのを http://abc.com/index.php?id=3934987d98bcd8 のようにして、idをわからないようにしたいのですが・・ よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

PHPのバージョンはわかりませんが、暗号化ならmcrypt系の関数を使えば良いと思います。 ついでに、No.1さんへ >複合化できるものは暗号化ではないだろうから。 暗号文を平文に戻すことを復号というので、復号出来ないものは暗号ではありません。たぶんハッシュと勘違いしているのではないでしょうか?

参考URL:
http://www.php.net/manual/ja/ref.mcrypt.php
touchme
質問者

お礼

ありがとうございます! mcryptというのは知りませんでした。 たくさん種類があってどれがいいのか よくわかりませんが、調べてみようと思います。 参考になります!

その他の回答 (3)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

考え方を整理した方がよいでしょう。 ご質問の内容はformでデータ渡しするときに ブラウザのアドレス欄にかかれるパラメータを可読化しにくい ものにしたい・・・との要望に見うけられます。 もしそうであればHTMLからサーバーに送る一連の手順は PHPではなんともなりませんので無理だと思います。 場合によってはJavascriptなどで変換することにより 実現できるかもしれませんね

touchme
質問者

補足

申し訳ないです。 質問内容がおかしかったです。 No3の補足にも書かせて頂きましたが フォーム入力ではないです。。

noname#39970
noname#39970
回答No.3

>ハッシュ ごめん 言われて気付いた。 自分で復号化(No1は誤変換してるけど)って使っておいて(´∀`;;; 質問の変化パターンがハッシュっぽかったからそう書いただけなんだけど。 ほんとはgetじゃなくpostで渡したら?とも言いたかった

touchme
質問者

補足

書き方に不備がありました。 申し訳ありません。 フォーム入力ではなくて、 リンク先にしたかったので・・ <a href="http://abc.com/index.php?id=3934987d98bcd8">jump</a> みたいな感じです。

noname#39970
noname#39970
回答No.1

難読化するくらいが関の山では? 複合化できるものは暗号化ではないだろうから。 よくあるのが数値じゃなく文字列として扱ってASCII16進に変換かな

touchme
質問者

お礼

ご回答頂きましてありがとうございました! ASCII16進数変換はお手軽でいいと思います。 でももうちょっと難読化したいというのが希望です。。

関連するQ&A