sql加密表的方法:首先測試環境;然後建立資料庫主金鑰;接著建立證書以及乙個對稱秘鑰;最後加密資料即可。
sql server 怎麼設定表中加密
sql server支援資料庫級的加密(tde)和列級的資料加密,資料庫級的加密是在在資料庫中進行的,對程式來說是是透明的,開發過程中不需要做額外的操作。相對資料庫級的加密來說,列級的資料加密過程有點麻煩,程式需要做一些額外的操作。下圖是sql server的加密層次結構,可以看出sql server的加密是分層級的,上面層級的加密保護其子層級的加密,本文說明乙個使用圖中①②③④四個層次的方法來加密/解密資料的過程。
(1)測試環境說明
測試使用sql servre 2012 r2,建立如下的資料表:
--建立測試用的使用者表create table tbluser
(2)建立資料庫主金鑰
資料庫主金鑰(database master key)在服務主金鑰之下,由服務主金鑰進行加密。這是乙個資料庫級別的金鑰,可以用於為建立資料庫級別的證書或非對稱金鑰提供加密。每乙個資料庫只能有乙個資料庫主金鑰,通過t-sql語句建立。具體**如下:create master key encryption by password ='passw@ord'
(3)建立證書
建立乙個用來加密對稱秘鑰證書,具體**如下:create certificate testcert with subject = 'test certificate'
(4)建立乙個對稱秘鑰
由sql server加密層次結構可以看出,對稱金鑰可以通過密碼建立,也可以通過其它對稱金鑰、非對稱金鑰和證書建立。本文以證書建立乙個測試用的對稱秘鑰,具體**如下:create symmetric key testsymmetric with algorithm = aes_256
(5)加密資料
先開啟證對稱秘鑰,再使用encryptbykey函式加密資料,完成後關閉對稱秘鑰。具體**如下:open symmetric key testsymmetric decryption by certificate testcert;
insert into tbluser values('張三', encryptbykey(key_guid(n'testsymmetric'), '123456'));
(6)檢視加密後的資料
直接下sql查詢加密後的資料,可以看到password的內容是一串不可以閱讀的16進製制的字元。select * from tbluser
(7)解密資料
先開啟證對稱秘鑰,再使用decryptbykey函式解密資料,完成後關閉對稱秘鑰。具體**如下:open symmetric key testsymmetric decryption by certificate testcert;
如何給Word文件加密
word軟體是目前世界上使用最為廣泛的辦公文字處理軟體之一,在使用word檔案來儲存檔案的內容時,根據不同的安全需要,需要對檔案內容進行保護時就需要進行加密,而需要閱讀檔案內容時就需要解密。怎麼給word檔案新增密碼,有以下幾種方法 2007word 方法一 單擊office按鈕,在下拉列表中選擇 ...
如何給grub加密碼
目的是為了防止他人修改grub,用單使用者模式啟動。grub加密碼只需要修改grub啟動檔案,增加一行 password 關鍵字,可以採用明文儲存或者 md5 加密後儲存。下面我們介紹一下用 md5 加密的方式。1 先用 sbin grub md5 crypt 產生乙個 md5 密碼串 sbin g...
mysql 給指定表中的資料進行加密
1.最近在寫專案時牽扯到了資料庫加密問題,因此就趁機把資料庫加密這塊簡單了解了下.2.mysql 資料庫加密方式好像有四五種方式,我用的是aes decrypt函式對相關字段進行加密 3.加密用的函式是aes encrypt 解密用的函式是aes decrypt 其中這兩個函式的第乙個引數是你加密的...