mysql如何給表加密 sql怎麼加密表

2021-10-17 23:01:17 字數 2279 閱讀 8665

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 其中這兩個函式的第乙個引數是你加密的...