2012-06-13 28 views
2

請給我一些建議。我必須使用SQL數據庫郵件發送電子郵件。在我的電子郵件中,我必須創建鏈接,用戶可以單擊該鏈接轉到我的網站上的產品頁面。但是,我需要加密產品的ID,一旦加載產品頁面,產品ID的查詢字符串將被解密。在SQL中加密查詢字符串可能嗎?

如何獲得我在網站類中創建的加密算法到SQL?我相信解密和加密算法必須相同,這樣當用戶點擊他們電子郵件中的鏈接時,我的頁面才能正確解密。我使用的加密類與此鏈接類似:http://www.codeproject.com/Articles/33350/Encrypting-Query-Strings

非常感謝您的幫助。

PS:我也在asp.net論壇上發佈了這個問題。

+1

嘗試url重寫 – Nighil

+0

沒有這樣的事情作爲** SQL數據庫** - SQL是*結構化查詢語言* - 許多數據庫系統使用的語言,但它不是**數據庫產品。 ..所以你說* SQL *,你真的是指** SQL Server **(微軟RDBMS產品)呢? –

+0

完全正確。對困惑感到抱歉。在SQL服務器中是。 – loveprogramming

回答

3

您可以在SQL Server中運行CLR(即.NET)代碼。涉及到幾個步驟,但它首先在Visual Studio中創建一個「SQL Server」項目,編寫代碼並將其部署到SQL Server。您還必須使用 sp_configure在SQL Server中啓用CLR功能。

有關詳細說明,請參閱此處(MSDN):How to: Create and Run a CLR SQL Server User-Defined Function

+0

這對我來說是一個很好的起點。謝謝。 – loveprogramming

2

經過相當多的研究後,我可以確認CLR是一條可行的路。如所暗示的,我使用了用戶定義的函數CLR。首先,我需要在Visual Studio中創建CLR項目。這裏是一個很好的起點,以瞭解它是如何工作的:

http://blog.sqlauthority.com/2008/10/19/sql-server-introduction-to-clr-simple-example-of-clr-stored-procedure/

然後,而不是添加一個CLR存儲過程我移動到用戶定義的函數。添加一個加密類並在用戶定義的函數中調用該類。構建和部署。而已。

這裏是另外一個有用的鏈接:

http://channel9.msdn.com/Learn/Courses/SQL2008R2TrainingKit/CLR/CLRIntegrationLab/Exercise-1-Creating-User-Defined-Functions-Using-SQL-CLR

感謝dbaseman指出了這一點。

+0

如果dbaseman提供了可以解決此問題的答案,那麼通過單擊帖子左側的複選標記來「接受」他的答案將是一種很好的形式。 – xelco52

+0

謝謝。我仍然在學習使用stackoverflow。 :) – loveprogramming