データベース内で暗号化されたプロファイルの詳細を保存したい。しかし、いくつかの詳細は一意でなければならず、暗号化アルゴリズムは各暗号化のシードをランダム化するので、その値がすでにデータベースに格納されているかどうかを判断するのは徹底的です。暗号化された文字列をランダムな種と比較するには?
- 各行をループして必要な列を復号化できますが、行数が多いと時間がかかりすぎる可能性があります。
- 私はこれらの(暗号化されていない)詳細
のハッシュを格納することができましたが、それは最初の場所で暗号化のポイントを殺すでしょう。
暗号化された文字列(ランダムなシード)とデータベースに保存された他の文字列を比較するにはどうすればよいですか?
ご協力いただきまして誠にありがとうございます。暗号化は、PHP(MCRYPT_RIJNDAEL_256
/NOFB
)で行われ、データベースはMySQLです。
編集/ソリューション:暗号化された値に加えてデータのハッシュを格納することが私の最善の解決策であるようです。そうすれば、ユニークな列の検証が容易になります。誰もコメント/回答を残してくれてありがとう。
興味深い質問ですが、私は "別の列に暗号化されていないものを格納してください"という答えはないと思います...しかし、私たちは見るでしょう –
私は、ユーザー名。この方法では、あるユーザーのプロファイルフィールドがわかっている場合、そのフィールドに同じ値を持つ他のユーザーは、そのハッシュが異なるため、そのユーザーを推測することはできません。 – halfer
@Pekkaはい、見てみましょう... – Alasjo