到了SQL Server2005,引入了列級(jí)加密。使得加密可以對(duì)特定列執(zhí)行,這個(gè)過程涉及4對(duì)加密和解密的內(nèi)置函數(shù)

在和布克賽爾蒙古等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),全網(wǎng)整合營銷推廣,外貿(mào)網(wǎng)站建設(shè),和布克賽爾蒙古網(wǎng)站建設(shè)費(fèi)用合理。
SQL Server 2008時(shí)代,則引入的了透明數(shù)據(jù)加密(TDE),所謂的透明數(shù)據(jù)加密,就是加密在數(shù)據(jù)庫中進(jìn)行,但從程序的角度來看就好像沒有加密一樣,和列級(jí)加密不同的是,TDE加密的級(jí)別是整個(gè)數(shù)據(jù)庫。使用TDE加密的數(shù)據(jù)庫文件或備份在另一個(gè)沒有證書的實(shí)例上是不能附加或恢復(fù)的。
就這一點(diǎn) 透明數(shù)據(jù)加密比列級(jí)加密要好用的多。
比較簡(jiǎn)單的做法是數(shù)據(jù)在存入數(shù)據(jù)庫之前用c#進(jìn)行加密,然后再存入數(shù)據(jù)庫,讀取數(shù)據(jù)之后,用相應(yīng)的解密方法對(duì)數(shù)據(jù)進(jìn)行解密。
但是,如果你一定要在存儲(chǔ)過程中加密的話,可以使用c#創(chuàng)建好對(duì)應(yīng)的加密解密方法,然后生成一個(gè)加解密的類庫dll,在sqlserver中引入該dll中的加密方法進(jìn)行加密(Sqlserver調(diào)用dll的方法sqlserver調(diào)用dll),程序中可以直接調(diào)用該dll中的解密方法,也可以把解密方法直接寫在程序中。
在SQl2005下自帶的函數(shù)hashbytes() ,此函數(shù)是微軟在SQL SERVER 2005中提供的,可以用來計(jì)算一個(gè)字符串的 MD5 和 SHA1 值,使用方法如下:
--獲取123456的MD5加密串
select hashbytes('MD5', '123456') ;
--獲取123456的SHA1加密串
select hashbytes('SHA1', '123456') ;有了這個(gè)函數(shù)可以在sqlserver中為字符串進(jìn)行加密,但是hashbytes() 函數(shù)的返回結(jié)果是 varbinary類型,(以 0x 開頭 16 進(jìn)制形式的二進(jìn)制數(shù)據(jù))通常情況下,我們需要的都是字符串型的數(shù)據(jù),很多人首先想到的可能就是用 CAST 或 Convert 函數(shù)將varbinary 轉(zhuǎn)換為 varchar,但這樣轉(zhuǎn)換后的結(jié)果會(huì)是亂碼,正確轉(zhuǎn)換 varbinary 可變長度二進(jìn)制型數(shù)據(jù)到 16 進(jìn)制字符串應(yīng)該使用系統(tǒng)內(nèi)置函數(shù) sys.fn_varbintohexstr()(只在sqlserver2005下有),如下所示:select sys.fn_varbintohexstr(hashbytes('MD5', '123456'))
然后就可以截取需要的部分select lower(right(sys.fn_varbintohexstr(hashbytes('MD5','123456')),32))為md5加密串。
名稱欄目:sqlserver加密,sqlserver加密存儲(chǔ)
本文來源:http://chinadenli.net/article34/dseeipe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、標(biāo)簽優(yōu)化、網(wǎng)頁設(shè)計(jì)公司、服務(wù)器托管、企業(yè)建站、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)