2
暗号化が初めてです。フィールドをテーブル(DocNumber)に暗号化しておく必要があります。私は設定することで、暗号化されたvarbinaryの場としてこれを保つ:暗号化されたパスフレーズで保存された行を取得する
docNumber = ENCRYPTBYPASSPHRASE('password', @docnumber)
私は以下の私はないdocnumber使用してテーブルを照会する場合:それは適格なレコードを返すことに失敗しかし
WHERE docNumber = DECRYPTBYPASSPHRASE('password', @docNumber)
。私はENCRYPTBYPASSPHRASE()
を同じパスワードと値で繰り返し呼び出すと、暗号化された値が違うことに気付きました。 ここで私は間違いをしていますか?あなたはどのようにこれにいつも取り組んでいますか?私はこの方法がそれを常に使用していた
を私はこれを試すことができます知っているが、このアプローチでは、データベースのインデックスが使用され、非常にされていない – josephj1989
非効率的にその後多分あなたはvarbinary型の列を考慮し、HASHBYTESを使用しなければなりません()を適切なアルゴリズム(SHA1、MD5など)で置き換えます。 HASHBYTESでは、毎回同じハッシュ値が得られます。 –