利用CLR SQL 做加解密驗證

摘要:利用CLR SQL 做加解密驗證

日前有一個需求,就是在程式上我們有自己一套的密碼雜湊規則,

然而在DB這邊要刻出相同的規則,並跟程式端的驗證結果需相同, 

故我們的DBA提出了CLR SQL這東東,希望我們能透過CLR,

將密碼驗證規則布署為SQL function提供他們使用,

所以再此也得感謝我們的DBA讓我瞭解原來還有這種應用.

 

在以往,都是由DBA提供stored procedure,跟SQL function 這次反而是反過來由我們提供,由於是第一次接觸,

當然免不了上網做一下功課,原來CLR SQL在SQL server 2005就已經出現,

到目前為止應用與範例也相當的多,故再此小弟當做筆記避免以後要參考找不到XD,

就不在贅述這塊,我會將這些資訊放至參考連結,

讓有興趣朋友們可以參考參考

接下來就直接看範例嚕

如果在此有筆誤或是操作上哪裡有錯誤,

有請各位前輩不吝指導.謝謝

備註:此範例只是DEMO,並未真正加入公司的驗證機制

 

 

STEP 1

 需先至SQL Server啟用 CLR 整合

sp_configure 'show advanced options', 1;

GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO

 

Step 2

開啟VISUAL STUDIO >新增專案>SQL Server 資料庫專案

 

STEP 3.

 對專案點擊右鍵>加入>新增項目

STEP 4. 選擇CLR C# 使用者定義函式

 

STEP 5. 這時候就開始刻CODE嚕,

STEP 7. 設定發佈相關設定

 在這裡說明一下,由於本身要發布的環境是SQL SERVER 2008

故選擇的版本為.NET Framwork 為3.0

STEP 8 選擇發布環境

STEP 9.

對專案點擊右鍵>發行

STEP 10.

點擊編輯

STEP 11.設定發布的DB位置與連線字串

STEP 12. 確認>點擊發行

STEP 13.開啟SQL Server Management Studio 確認組件是否存在,並執行結果

 

 

參考連結

Creating CLR Functions

啟用 CLR 整合

使用 Managed 程式碼建立資料庫物件的好處

SQL CLR

[C# For Web]簡單字串編碼解碼、加密解密的應用(以GET的方式搭配Hashtable綜合應用)