企業データベース内の機密ユーザーデータはバイナリ暗号文に暗号化され、mysql blob type フィールドに保存される必要があることが判明しました。直接論理演算を行うことはできません。また、テーブルをすべての暗号文を読み取って復号化し、論理演算を実行することもできません
企業データベース内の機密ユーザーデータはバイナリ暗号文に暗号化され、mysql blob type フィールドに保存される必要があることが判明しました。直接論理演算を行うことはできません。また、テーブルをすべての暗号文を読み取って復号化し、論理演算を実行することもできません
ユーザーIDに基づいて暗号文MD5をキャッシュします
これを行うべきだと思います:
新しいデータを追加するときは、暗号化する前にプレーンテキストのMD5ハッシュを実行し、ハッシュ値を保存します(もちろん、暗号化されたBLOBも保存する必要があります)
既存のデータに関しては、時間を見つけてすべてのMD5を復号し、ハッシュ値を保存する必要があります
この方法で一意性を判断するには、通常、ハッシュ値を直接判断するだけで十分です。
同じ平文暗号化で常に同じ暗号文が生成されることが保証できない限り、md5 暗号文はお勧めできません。ただし、鍵を変更すると、暗号文は少なくとも鍵の影響を受けます。また、暗号化方式自体がランダム化された初期ベクトルを持つものもあり、暗号化される暗号文は毎回異なります。
mysql 組み込みメソッド hex() を直接使用する