質問: パラメーターの暗号化について質問です。 Railsのパラメータを暗号化したいと考えているのですが、下記記事はBase64で暗号化していました。Rails使いの皆様は、実際どう暗号化されているか、ぜひ教えていただきたいです。どうぞよろしくお願いします。 参照: Qiita to_key と to_param で URL や HTML 中のリソースの id を別の文字列にしてしまう
回答: 参照されてるURLの記事ですが、あまりよい内容ではないです。 一般的な話として、数値idのかわりに何らかの文字列(たとえばユーザー名)を使いたいというリクエストはごく一般的なもので、多くのサイトで行われています。 これを実現するには、Railsの場合とりあえずfriendly_idというgemを使っておけというのが定番の解決策で、`to_param`や`to_key`を自分でオーバーライドするのはお勧めしません。思わぬところでひっかかります。 で、これを使っての話ですが、ランダム文字列やそのレコードの何らかの値を暗号化した値を使いたいのであれば、キーとして参照するカラムを一つ追加し、レコードの作成更新時にそこに値を登録し、friendly_idでそのカラムを参照するようにするのが簡単です。 数値idでもユーザー名などでもない意味の無い文字列を使いたいというのはあまり一般的なリクエストとは言えませんので、定番と言えるような方法はありません。