我有一個要求,在我們的數據庫中加密客戶的會員編號。所以好吧,我們使用MS SQL Server,我想我使用encryptbypassphrase,改變每一個寫這個字段的地方加密和讀取它解密的每個地方,等等。加入加密字段
除了...有地方DB字段用於鏈接多個記錄。我認爲沒有問題,我只是將連接從「加入blahblah on a.member_number = b.member_number」更改爲「加入blahblah on a.member_number_encrypted = b.member_number_encrypted」。但是這不起作用,因爲我發現如果我加密兩次相同的值,我不會得到相同的加密值。我想這是在裏面加些鹽或什麼的。我不想說「加密blahblah在decryptbypassphrase(@pw,a.member_number_encrypted)= decryptbypassphrase(@pw,b.member_number_encrypted),因爲這將變成一個全文搜索索引查找。我認爲它會是醜陋的不得不索引更大的加密值,但...
所以...有什麼辦法強制encryptbypassphrase總是加密相同的輸入到相同的輸出?或者這是否意味着它是不實際參加在大多數情況下,加密字段?
還是我失去了一些東西?
「你正在尋找的是確定性的加密。」是。 「你正在使用/可以使用MS SQL Server 2016」可悲的是,我不是。我有2014年的sp2-gdr。 – Jay
@Jay查看針對指針的更新答案 –