2016-06-24 12 views
1

パスワードをデータベースに保存する方法については多くの質問があります。パスワードは平文で保存しないでください。ただし、私のアプリケーションでは、SMBやOAUTHを提供しないREST APIなど、さまざまなサードパーティの認証が必要です。要するに:私はパスワードを保存する必要があります。データベースにパスワードを保存する

パスワードをクリアテキストで保存しないようにするには、私の考えは、環境変数に秘密鍵を格納し、それをパスワードの暗号化/復号化に使用することです。

これは問題に対する良いアプローチですか、それとも良いオプションがありますか?

答えて

2

透過的に属性を暗号化および復号化するattr_encrypted gemを確認してください。これにより、仮想属性に書き込むことができます。保存すると、データの暗号化をシームレスに処理し、データベースに保存してプレーンテキストとして保存されることはありません。

新しいデフォルトモード:per_attribute_ivでgemを使用してください。保存する暗号化された属性ごとに、暗号化された暗号テキストと個別のIVの両方を保持します。

https://github.com/attr-encrypted/attr_encrypted

関連する問題