欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

利用sqlclr實現數據庫服務器端數據加密解密

系統 2316 0

?

在公司中一同事用sqlclr寫數據遷移自動化執行腳本,發現他在執行腳本時對數據進行了加密。

?

個人覺得利用sqlclr對數據進行加密是一個解決數據網絡安全傳輸的不錯的方案。

?

以下是一個小的案例:

-------------------------執行:

declare @a nvarchar(100)

declare @b nvarchar(100)

set @a=dbo.fun('hi 你好')

set @b=dbo.fun1(@a)

print '加密后:'+@a

print '解密后:'+@b

--結果:

加密后:TIIRFZeZjZg=

解密后:hi 你好

-------------------------------------------加密標量函數:

public partial class UserDefinedFunctions

{

??? [Microsoft.SqlServer.Server.SqlFunction]

??? public static SqlString Fun(SqlString sql)

??? {

??????? // 在此處放置代碼

??????? return new SqlString(DesEncryptString(sql.Value, "12345678", "12345678"));

??? }

??? public static string DesEncryptString(string OriginalString, string EncryptKey, string EncryptOffset)

??? {

??????? byte[] btKey = Encoding.Default.GetBytes(EncryptKey);

??????? byte[] btIV = Encoding.Default.GetBytes(EncryptOffset);

??????? DESCryptoServiceProvider des = new DESCryptoServiceProvider();

??????? using (MemoryStream ms = new MemoryStream())

??????? {

??????????? byte[] inData = Encoding.Default.GetBytes(OriginalString);

??????????? try

??????????? {

??????????????? using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(btKey, btIV), CryptoStreamMode.Write))

??????????????? {

??????????????????? cs.Write(inData, 0, inData.Length);

????????????????? ??cs.FlushFinalBlock();

??????????????? }

?

??????????????? return Convert.ToBase64String(ms.ToArray());

??????????? }

??????????? catch

??????????? {

??????????????? return "";

??????????? }

??????? }

??? }

};

-------------------------------------------解密標量函數:

public partial class UserDefinedFunctions

{

??? [Microsoft.SqlServer.Server.SqlFunction]

??? public static SqlString Fun1(SqlString str)

??? {

??????? // 在此處放置代碼

?

??????? return new SqlString(DesDecryptString(str.Value, "12345678", "12345678"));

??? }

??? public static string DesDecryptString(string EncryptedString, string EncryptKey, string EncryptOffset)

??? {

??????? byte[] btKey = Encoding.Default.GetBytes(EncryptKey);

??????? byte[] btIV = Encoding.Default.GetBytes(EncryptOffset);

??????? DESCryptoServiceProvider des = new DESCryptoServiceProvider();

?

??????? using (MemoryStream ms = new MemoryStream())

??????? {

??????????? byte[] inData = Convert.FromBase64String(EncryptedString);

??????????? try

??????????? {

??????????????? using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(btKey, btIV), CryptoStreamMode.Write))

??????????????? {

??????????????????? cs.Write(inData, 0, inData.Length);

??????????????????? cs.FlushFinalBlock();

??????????????? }

?

??????????????? return Encoding.Default.GetString(ms.ToArray());

??????????? }

??????????? catch

??????????? {

??????????????? return "";

??????????? }

??????? }

??? }

};

?

?

?

利用sqlclr實現數據庫服務器端數據加密解密


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品免费视频网站 | 欧美激情刺激爽免费视频观看 | 欧美黄色网 | 欧美精品人爱a欧美精品 | 天堂资源在线 | 奇米吧 | 国产一区二区三区久久久久久久久 | 韩国一级免费视频 | 精品在线一区二区 | 国产日韩欧美不卡 | 五月久久婷婷综合片丁香花 | 欧美日韩中文在线视频 | 国产欧美精品一区二区三区 | 欧美一级精品 | 色吧久久 | 色黄网站在线观看 | 久久久在线 | 亚洲精品国产成人一区二区 | 欧美久久久无码精品亚洲日韩小说 | 手机在线观看亚洲国产精品 | 熟女毛片 | 久久精品一区二区三区四区 | 亚洲综合色视频在线观看 | 丁香婷婷在线观看 | 成人欧美视频在线观看 | 神马电影网午夜 | 9久热这里只有精品视频在线观看 | 日韩免费高清视频 | 成人午夜精品一区二区三区 | 噜噜噜天天躁狠狠躁夜夜精品 | 日日日日日 | 91青青国产在线观看免费 | 加勒比婷婷色综合久久 | ab毛片| 日韩欧美在线观看视频 | 色视频一区 | 久久国产精品一区 | 久久久久久久久成人 | 欧美大香线蕉线伊人久久 | 亚洲成人在线网 | 国产精品国产三级国产aⅴ入口 |