日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

SQL Server 2008中的代碼安全(六):對稱密鑰

系統(tǒng) 2036 0

SQL Server 2008中SQL應(yīng)用系列--目錄索引

證書和非對稱密鑰使用數(shù)據(jù)庫級的內(nèi)部公鑰加密數(shù)據(jù),并且使用數(shù)據(jù)庫級內(nèi)部私鑰解密數(shù)據(jù)。而對稱密鑰相對簡單,它們包含一個同時用來加密和解密的密鑰。困此,使用對稱密鑰加密數(shù)據(jù)更快,并且用在大數(shù)據(jù)時更加合適。盡管復(fù)雜度是考慮使用它的因素,但它仍然是一個很好的加密數(shù)據(jù)的選擇。

我們看一組例子:

示例一、創(chuàng)建對稱密鑰

對稱密鑰的特性是:在數(shù)據(jù)庫會話中使用它對數(shù)據(jù)進(jìn)行加密和解密前必須首先打開。

創(chuàng)建對稱密鑰使用如下命令:

CREATE SYMMETRIC KEY 創(chuàng)建對稱密鑰。( http://msdn.microsoft.com/en-us/library/ms188357.aspx

示例二、查看當(dāng)前數(shù)據(jù)庫中的對稱密鑰

使用目錄視圖sys.symmetric_keys( http://msdn.microsoft.com/en-us/library/ms189446.aspx )來查看。

示例三、修改非對稱密鑰的加密方式

你可以使用ALTER SYMMETRIC KEY( http://technet.microsoft.com/en-us/library/ms189440.aspx )命令修改對稱密鑰的加密方式。但執(zhí)行前必須使用OPEN SYMMETRIC KEY( http://msdn.microsoft.com/en-us/library/ms190499.aspx )命令打開它。

示例四、使用對稱密鑰對數(shù)據(jù)進(jìn)行加密和解密

1、為了使用對稱密鑰對數(shù)據(jù)進(jìn)行加密,必須首先打開它,然后使用函數(shù)EncryptByKey 加密數(shù)據(jù)。( http://msdn.microsoft.com/zh-cn/library/ms174361.aspx )

2、使用DecryptByKey來解密使用對稱密鑰加密的數(shù)據(jù)。注意DecryptByKey不像甩EncryptByKey,無須使用對稱密鑰GUID。因此,為了解密,必須打開正確的對稱密鑰會話,否則會顯示null。

下面是一個例子:

查看未加密的數(shù)據(jù):

至此,好像已經(jīng)大功告成了,別,千萬別高興得太早!

這里有個問題,如果惡意用戶不知道CustomerID=13的PasswordHintAnswer列的真實值,但知道CustomerID=14的PasswordHintAnswer列的真實值,則完全可以通過 惡意替換 PasswordHintAnswer列而繞過加密!! 3w@live.cn 此時,我們索性連 CustomerID列作為驗證列也一起加密,以絕后患 !

注意: 加密的驗證列 也可以由 另一個相關(guān)表的列 作為參數(shù)傳入。

看一個完整的例子:

惡意替換開始:

此時,我們再查看:

郎勒個郎!爽吧!雖然復(fù)制了相同的二進(jìn)制數(shù)據(jù),可是讀取結(jié)果令攻擊者大失所望啊!

示例五、刪除對稱密鑰

命令:DROP SYMMETRIC KEY 刪除指定的對稱密鑰( http://technet.microsoft.com/en-us/library/ms182698.aspx )

例子:

注意:如果加密密鑰打開沒有關(guān)閉,則drop失敗。

小結(jié):

1、本文主要介紹對稱密鑰的創(chuàng)建、刪除、查看以及用它來修改加密方式、進(jìn)行數(shù)據(jù)的加密和解密。

2、對稱密鑰的特性是:在數(shù)據(jù)庫會話中使用它對數(shù)據(jù)進(jìn)行加密和解密前必須首先打開。

3、對稱密鑰可用于大數(shù)據(jù)的加密。

下文將主要介紹證書加密(Certificate Encryption)

邀月注:本文版權(quán)由邀月和CSDN共同所有,轉(zhuǎn)載請注明出處。
助人等于自助! 3w@live.cn

SQL Server 2008中的代碼安全(六):對稱密鑰加密


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 南丹县| 昭觉县| 内江市| 桐柏县| 齐齐哈尔市| 福清市| 罗甸县| 小金县| 胶州市| 垣曲县| 太仆寺旗| 锡林浩特市| 蒙阴县| 平泉县| 蒙自县| 嘉峪关市| 平南县| 静宁县| 大冶市| 葵青区| 苍南县| 湘潭县| 渝中区| 青河县| 衢州市| 安远县| 宜宾市| 荆州市| 新干县| 任丘市| 中卫市| 共和县| 敦煌市| 平顶山市| 濉溪县| 澄城县| 武定县| 双鸭山市| 绥滨县| 司法| 济宁市|