SQL Server 2008中SQL應(yīng)用系列--目錄索引
證書可以在數(shù)據(jù)庫中加密和解密數(shù)據(jù)。證書包含密鑰對、關(guān)于證書擁有者的信息、證書可用的開始和結(jié)束過期日期。證書同時(shí)包含公鑰和密鑰,前者用來加密,后者解密。SQL Server可以生成它自己的證書,也可以從外部文件或程序集載入。因?yàn)榭梢詡浞萑缓髲奈募休d入它們,證書比非對稱密鑰更易于移植,而非對稱密鑰卻做不到。這意味著可以在數(shù)據(jù)庫中方便地重用同一個(gè)證書。
注意:證書和非對稱密鑰同樣的消耗資源。
我們看一組例子:
示例一、創(chuàng)建數(shù)據(jù)庫證書
創(chuàng)建數(shù)據(jù)庫證書:CREATE SYMMETRIC KEY ( http://msdn.microsoft.com/en-us/library/ms187798.aspx )
示例二、查看數(shù)據(jù)庫中的證書
使用目錄視圖sys.certificates( http://msdn.microsoft.com/en-us/library/ms189774.aspx )來查看。
示例三、備份和還原證書
創(chuàng)建證書后,也可以使用BACKUP CERTIFICATE( http://msdn.microsoft.com/en-us/library/ms178578.aspx )命令備份到文件,為了安全地保存或在其他數(shù)據(jù)庫中還原它。
示例四、管理證書的私鑰
使用ALTER CERTIFICATE( http://msdn.microsoft.com/en-us/library/ms189511.aspx )命令為證書增加或刪除私鑰。這個(gè)命令允許刪除私鑰(默認(rèn)通過數(shù)據(jù)庫主密鑰時(shí)行加密)、增加私鑰或修改私鑰的密碼。
示例五、使用證書加密和解密 。
使用函數(shù)EncryptByCert加密數(shù)據(jù)。( http://msdn.microsoft.com/zh-cn/library/ms174361.aspx )
下面是一個(gè)例子:
示例六、使用對稱密鑰對數(shù)據(jù)進(jìn)行加密和解密 。
在前面的文章中,你已經(jīng)看到打開用非對稱密鑰加密的對稱密鑰的演示,它分兩個(gè)步驟,首先用OPEN SYMMETRIC KEY命令,然后是實(shí)際的DecryptByKey函數(shù)調(diào)用。SQL Server也提供了能夠?qū)⑦@兩個(gè)步驟合二為一的額外的解密函數(shù):DecryptByKeyAutoAsymKey( http://msdn.microsoft.com/en-us/library/ms365420.aspx )和DecryptByKeyAutoCert( http://msdn.microsoft.com/en-us/library/ms182559.aspx )
此時(shí),使用DecryptByKeyAutoAsymKey解密數(shù)據(jù),只需要一個(gè)操作
小結(jié):
1、本文主要介紹證書的創(chuàng)建、刪除、查看以及用它來修改加密方式、進(jìn)行數(shù)據(jù)的加密和解密。
2、證書加密跟非對稱密鑰加密相對對稱密鑰加密更為消耗資源。
下文將主要介紹SQL Server中最為令人鼓舞的透明數(shù)據(jù)加密(TDE)
助人等于自助! 3w@live.cn
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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