sqlserver encrypts and decrypts data

– Create test table

CREATE TABLE TBLUser 
(    
    Name             nvarchar(30),     
    Password         varbinary(1000)
)

-Create a database master key

CREATE master key  ENCRYPTION BY PASSWORD ='passW@ord'

– Create a certificate

CREATE CERTIFICATE TestCert with SUBJECT = 'Test Certificate'

– Create a symmetric key

CREATE SYMMETRIC KEY TestSymmetric WITH ALGORITHM = AES_256
    ENCRYPTION BY CERTIFICATE TestCert 

– Use symmetric key to encrypt data

OPEN SYMMETRIC KEY TestSymmetric DECRYPTION BY CERTIFICATE TestCert;
INSERT INTO TBLUser values('张三', ENCRYPTBYKEY(Key_Guid(N'TestSymmetric'), '123456'));
CLOSE SYMMETRIC KEY TestSymmetric;

– View the encrypted data

SELECT * FROM TBLUser

Insert picture description here
– Decrypt data

OPEN SYMMETRIC KEY TestSymmetric DECRYPTION BY CERTIFICATE TestCert;
SELECT Name, CAST(DecryptByKey(password) as varchar(100)) Password FROM TBLUser;
CLOSE SYMMETRIC KEY TestSymmetric;

Insert picture description here

Note: Reprinted at https://jingyan.baidu.com/article/4dc4084852fceec8d946f1ee.html
if there is any infringement, please contact me and delete it immediately (WeChat: hdyi1997)

Guess you like

Origin blog.csdn.net/Y_6155/article/details/106299796