1

互いにうまく機能しない要件がいくつかあります。

  1. 名、姓、生年月日、およびテーブル内の他のいくつかの列を暗号化します (データベースは SQL Server です)。
  2. これらの暗号化された列の一部に対して範囲/ワイルドカード検索を実行します。つまり、select * from table where first_name like '%jo%' and last_name like '%exceptional%'.

テーブル全体を復号化し、非常に遅い検索を実行する必要があることはわかっています。しかし、どういうわけか、検索を最適化する必要があります。

これで、データセット/Linq などを使用して、データベースまたはアプリケーション内で検索を行うことを考えることができます。

では、どちらのアプローチが比較的高速でしょうか? これを最適化する他の方法はありますか?

4

1 に答える 1

0

データハッシュを調べる必要があります。ハッシュを使用すると、すべての行を復号化することなく検索を実行できます。

http://blogs.msdn.com/b/sqlsecurity/archive/2011/08/26/data-hashing.aspx

于 2012-08-07T15:39:09.263 に答える