ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3970184 SQLServer2005 暗合化項目での検索
質問者:papope お世話になっております。

SQLServer2005(Express)で項目の幾つかを暗合化して保存しています。
この暗合化項目をキーに検索することはできるのでしょうか?

色々と探したのですが見つかりませんでした。

参考になるサイトなどありましたら、そこのURLを教えていただければと
思います。
よろしくお願いいたします。

※尚、同様の質問を他サイトでしていますが、そこは締めてありますのでご了承ください。
困り度:
  • すぐに回答を!
質問投稿日時:
08/04/23 17:06
この質問に対する回答は締め切られました。

回答

ANo.1 検索のキーを同じ方法で暗号化すれば、検索できるのでは?
例えば、keyというカラムに f() で暗号化した値が入っているとします。

その時、WHERE句で
f(探したい値) = key
を指定すれば、持ってこれると思います。

質問の意味を取り違えていたら、すみません。
回答者:masa6272
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:
08/04/24 07:07
この回答への補足ご回答ありがとうございます。

質問の意図を汲み取っていただきましてありがとうございます。
実際に行ってみたところ、データを検索できませんでした。(エラーにはならないのですが確かにあるデータを検索してきません。)

WHERE句は
"where key = EncryptByKey(Key_GUID('Crypt_Key'),'" & me.検索文字 & "')
とやっています。
逆の発想で
where DecryptByKey(key) = '" & me.検索文字 & "'"
でもデータを取ることができません。

※EncryptByKey、DecryptByKeyはご存知だと失礼になりますがSQLServer2005で提供されているものです。
この回答へのお礼自己解決しました。
ありがとうございました。