- ベストアンサー
PHPで変数を暗号化する方法
PHPで、変数を暗号化したいのですが、 いい方法が有ればぜひ教えて頂きたいです。 たとえば http://abc.com/index.php?id=123 というのを http://abc.com/index.php?id=3934987d98bcd8 のようにして、idをわからないようにしたいのですが・・ よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
PHPのバージョンはわかりませんが、暗号化ならmcrypt系の関数を使えば良いと思います。 ついでに、No.1さんへ >複合化できるものは暗号化ではないだろうから。 暗号文を平文に戻すことを復号というので、復号出来ないものは暗号ではありません。たぶんハッシュと勘違いしているのではないでしょうか?
その他の回答 (3)
- yambejp
- ベストアンサー率51% (3827/7415)
考え方を整理した方がよいでしょう。 ご質問の内容はformでデータ渡しするときに ブラウザのアドレス欄にかかれるパラメータを可読化しにくい ものにしたい・・・との要望に見うけられます。 もしそうであればHTMLからサーバーに送る一連の手順は PHPではなんともなりませんので無理だと思います。 場合によってはJavascriptなどで変換することにより 実現できるかもしれませんね
補足
申し訳ないです。 質問内容がおかしかったです。 No3の補足にも書かせて頂きましたが フォーム入力ではないです。。
>ハッシュ ごめん 言われて気付いた。 自分で復号化(No1は誤変換してるけど)って使っておいて(´∀`;;; 質問の変化パターンがハッシュっぽかったからそう書いただけなんだけど。 ほんとはgetじゃなくpostで渡したら?とも言いたかった
補足
書き方に不備がありました。 申し訳ありません。 フォーム入力ではなくて、 リンク先にしたかったので・・ <a href="http://abc.com/index.php?id=3934987d98bcd8">jump</a> みたいな感じです。
難読化するくらいが関の山では? 複合化できるものは暗号化ではないだろうから。 よくあるのが数値じゃなく文字列として扱ってASCII16進に変換かな
お礼
ご回答頂きましてありがとうございました! ASCII16進数変換はお手軽でいいと思います。 でももうちょっと難読化したいというのが希望です。。
お礼
ありがとうございます! mcryptというのは知りませんでした。 たくさん種類があってどれがいいのか よくわかりませんが、調べてみようと思います。 参考になります!