亚洲AV无码乱码在线观看不卡|最新大伊香蕉精品视频在线|亚洲不卡av一区二区|国产美女无遮挡免费

登錄論壇 | 注冊會(huì)員 設(shè)為首頁 | 收藏本站
當(dāng)前位置 : 首頁>軟件學(xué)院>數(shù)據(jù)庫>SQL>正文
 
SQL Server2005數(shù)據(jù)加密技術(shù)應(yīng)用研究

http://www.yibo1263.com 2008/5/4 19:17:17  來源:本站  編輯:阿拉格調(diào)
 

數(shù)據(jù)庫主密鑰與服務(wù)主密鑰不同,在加密數(shù)據(jù)庫中數(shù)據(jù)之前,必須由數(shù)據(jù)庫管理員創(chuàng)建數(shù)據(jù)庫主密鑰。通常管理員在產(chǎn)生該密鑰時(shí),提供一個(gè)口令,所以它用口令和服務(wù)主密鑰來加密。如果有足夠的權(quán)限,用戶可以在需要時(shí)顯式地或自動(dòng)地打開該密鑰。下面是產(chǎn)生數(shù)據(jù)庫主密鑰的T-SQL代碼示例:

USE EncryptionDB

CREATE MASTER KEY

ENCRYPTION BY PASSWORD = 'UTY6%djzZ8S7RyL'

每個(gè)數(shù)據(jù)庫只有一個(gè)數(shù)據(jù)庫主密鑰?梢杂肁LTER MASTR KEY語句來刪除加密,更改口令或刪除數(shù)據(jù)庫主密鑰。通常這由數(shù)據(jù)庫管理員來負(fù)責(zé)做這些。

有了數(shù)據(jù)庫主密鑰,就可以著手加密數(shù)據(jù)。T-SQL有置于其內(nèi)的加密支持。使用CREATE語句創(chuàng)建各種密碼,ALTER語句修改他們。例如要?jiǎng)?chuàng)建對稱式加密,可以通過一對函數(shù)EncryptByKey 和 DecryptByKey來完成。

數(shù)據(jù)加密技術(shù)應(yīng)用解析

下面通過實(shí)例來探討SQL Server 2005數(shù)據(jù)加密與解密技術(shù)的實(shí)現(xiàn)。

假設(shè)有一張Customer 表,表中有字段 customer ID、 name、 city 和各種信用卡細(xì)節(jié)。其中信用卡細(xì)節(jié)需要加密而其他數(shù)據(jù)不需要。假設(shè)User1有對稱式密鑰,并用該密鑰登錄,運(yùn)行相應(yīng)的代碼加密數(shù)據(jù)。

⑴ 數(shù)據(jù)加密

① 產(chǎn)生密鑰:在含有Customers 表的數(shù)據(jù)庫中使用Triple DES作為加密算法,生成對稱式密鑰。本例中,密鑰本身由已經(jīng)存在在數(shù)據(jù)庫中的證書保護(hù),如圖一所示,對稱密碼受非對稱密碼和存在的其他對稱式密鑰保護(hù)。

CREATE SYMMETRIC KEY User1SymmetricKeyCert

AUTHORIZATION User1

WITH ALGORITHM = TRIPLE_DES

ENCRYPTION BY CERTIFICATE User1Certificate

② 打開密鑰:對稱式密鑰使用前必須顯式打開,所以接下來打開它,重新找回密碼,解密它,并放它在受保護(hù)的服務(wù)器內(nèi)存中,準(zhǔn)備使用。

OPEN SYMMETRIC KEY User1SymmetricKeyCert

DECRYPTION BY CERTIFICATE User1Certificate

③ 加密數(shù)據(jù):在下面的代碼中,使用正常的T-SQL INSERT語句將一行數(shù)據(jù)插入表中,id、name和city 用明文保存,信用卡類型、號碼以及有潛在機(jī)密的客戶注釋用加密方式儲(chǔ)存,用Triple DES加密算法加密數(shù)據(jù)。

INSERT INTO Customer

VALUES (4, 'John Doe', 'Fairbanks',

EncryptByKey(Key_GUID(

'User1SymmetricKeyCert'), 'Amex'),

EncryptByKey(Key_GUID(

'User1SymmetricKeyCert'),

'1234-5678-9009-8765'),

EncryptByKey(Key_GUID(

'User1SymmetricKeyCert'),

'Window shopper. Spends $5 at most.'))

加密完成后,關(guān)閉它,釋放內(nèi)存,以防它被誤用。

CLOSE SYMMETRIC KEY User1SymmetricKeyCert

以上是整個(gè)的數(shù)據(jù)加密的操作過程。它沒有混亂的密碼管理,也不用調(diào)用特別的算法。儲(chǔ)存加密數(shù)據(jù)的字段是varbinary類型數(shù)據(jù),其長度足以儲(chǔ)存擴(kuò)展的數(shù)據(jù)(加密數(shù)據(jù)比明文需要更多的空間,有時(shí)候多很多)。

下圖為對Customer 表運(yùn)行正常的SELECT * 語句顯示的帶有加密數(shù)據(jù)的結(jié)果:

圖2 加密后的數(shù)據(jù)的查詢結(jié)果

⑵ 數(shù)據(jù)解密

要解密已加密的數(shù)據(jù),你需要重新打開對稱式加密。使用DecryptByKey函數(shù)讀數(shù)據(jù),然后關(guān)閉對稱式加密。結(jié)果及相應(yīng)的代碼如下。

OPEN SYMMETRIC KEY User1SymmetricKeyCert

DECRYPTION BY CERTIFICATE User1Certificate

SELECT CustID, Name, City,

CONVERT(VARCHAR, DecryptByKey(CreditCardType))

AS CardType,

CONVERT(VARCHAR, DecryptByKey(CreditCardNumber))

AS CardNumber,

CONVERT(VARCHAR, DecryptByKey(Notes))

AS Notes

FROM Customer WHERE CustID = 4

CLOSE SYMMETRICKEYUser1SymmetricKeyCert

圖3 對加密數(shù)據(jù)進(jìn)行解密后的結(jié)果

這個(gè)例子顯示了讓SQL Server 2005為你管理密鑰的一種方法。但實(shí)際上,用戶總是選擇自己提供一個(gè)口令的方式,用RC4算法產(chǎn)生對稱密碼。代碼如下:

本新聞共3頁,當(dāng)前在第2頁  1  2  3  

收藏】【打印】【進(jìn)入論壇
  相關(guān)文章:

·SQL Server2005查詢通知

 
 
 
最新文章

搶先蘋果,消息稱英特爾芯片采用臺(tái)積電
三星揭曉業(yè)內(nèi)首款單條 512GB DDR5 內(nèi)存
vivo 高端新機(jī)爆料:120Hz 曲面屏 + 天
vivo Y21 在印度正式上市:Helio P35 芯
微星推出 GeForce RTX 3080 Sea Hawk X
消息稱三星 Galaxy Tab S8 系列平板將放
機(jī)械革命推出 F6 輕薄本:16 英寸全面屏
英特爾 12 代 Alder Lake CPU 600 系列
雷軍:向小米手機(jī) 1 首批用戶每人贈(zèng)送價(jià)
小米李明談?dòng)脩舯惶叱?nbsp;MIUI 測試版:大

推薦文章
1
2
3
4
5
6
7
8
9
10
叛逆嫩模性感寫真
宮如敏不雅照瘋傳 看張馨予韓一菲獸獸誰
不懼孔子搶位 阿凡達(dá)游戲影音配置推薦
2015第十七屆“東北安博會(huì)”火爆招商
第十六屆東北國際公共安全防范產(chǎn)品博覽
2016年第五屆中國國際商業(yè)信息化博覽會(huì)
2016年第五屆中國國際POS機(jī)及相關(guān)設(shè)備展
互聯(lián)網(wǎng)電視熟了嗎 2013最火電視深解析
桑達(dá)獲邀出席2015中國(廣州)國際POS機(jī)
寶獲利報(bào)名參加“2015年度中國POS機(jī)行業(yè)
八卦圖解 More>>
叛逆嫩模性感寫真 宮如敏不雅照瘋傳 看張馨予韓一菲
周偉童魔鬼身材日本性感寫真圖  聯(lián)想V360筆記本模特寫真