SQL Server 數據庫對稱加密

--@version 1.0 2016-11-17
--@description: sql server 2008 aes128位對稱密鑰對數據列加密與解密
--@symmetric:MySymmetric
--@author:釘牙的大白兔

use test;

--創建密鑰加密密鑰MySymmetric
create symmetric key MySymmetric with algorithm = aes_128 encryption by password='Hello';

--將要加密的字段轉化爲varbinary類型,存儲密文
select Sno,
    Sname_Encrypt=CONVERT(varbinary(max),Sname),
    Ssex,
    Sdept
into Student_Encrypt
from student
where 1<>1;

--打開密鑰並進行加密
open symmetric key MySymmetric decryption by password='Hello';

--複製一張表
insert Student_Encrypt(
    Sno,
    Sname_Encrypt,
    Ssex,
    Sdept
    )
select top 5
Sno,
Sname_Encrypt=ENCRYPTBYKEY(KEY_GUID('MySymmetric'),Sname),
Ssex,
Sdept
from Student;

select * from Student_Encrypt;

加密後的數據庫信息:
這裏寫圖片描述

--打開密鑰並進行解密
open symmetric key MySymmetric decryption by password='Hello';

select Sno,
          Sname=CONVERT(nvarchar(max),DECRYPTBYKEY(Sname_Encrypt)),
          Ssex,
          Sdept
from Student_Encrypt;

解密後的數據庫:

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章