加密值我有一個ASP.NET Web應用程序使用SQL Server 2008查詢數據庫
當一個職位代碼通過Web應用程序提交的,它是加密,然後將加密值發送到數據庫並插入表格中。
我現在需要通過搜索的職位代碼相似的部分找到查詢從Web應用程序,這些職位代碼的方式:
SELECT PostCode
FROM Table
WHERE PostCode LIKE @PostCode + '%'
我怎麼能做到這一點不存儲在數據庫中解密功能? (我認爲這對安全有害?)
加密值我有一個ASP.NET Web應用程序使用SQL Server 2008查詢數據庫
當一個職位代碼通過Web應用程序提交的,它是加密,然後將加密值發送到數據庫並插入表格中。
我現在需要通過搜索的職位代碼相似的部分找到查詢從Web應用程序,這些職位代碼的方式:
SELECT PostCode
FROM Table
WHERE PostCode LIKE @PostCode + '%'
我怎麼能做到這一點不存儲在數據庫中解密功能? (我認爲這對安全有害?)
這裏確實只有兩種選擇。
加密您提交給您的選擇查詢的數據。這樣你就可以比較兩個不同的加密值。當然,如果你正在使用鹽,這將失敗。
不要在存儲之前對值進行加密。相反,只需正常保存即可。如果它確實需要加密,使用的加密方法可以在SQL Server中自動加密列:http://msdn.microsoft.com/en-us/library/ms179331.aspx
你加密的目的基本上是爲了保護信息「靜止」。 SQL服務器可以自己做到這一點。
第一種方式
你可以從你的ASP.Net應用程序發送的加密郵編數據庫,並使用類似下面的加密郵編查詢它....
SELECT PostCode
FROM Table
WHERE PostCode LIKE @EncryptedPostCode + '%'
二方式
關於查詢加密列的文章。
你對數據庫做了什麼樣的查詢? – 2012-01-31 14:50:47
@JamieDixon - 更新了我的問題,對不起,我應該把它放在第一位! – Curt 2012-01-31 14:52:18