用SQL Servre 2012 R2设置表中加密

该文演示了如何在SQL数据库中创建主密钥、证书和对称密钥,用以加密和解密数据。通过创建TestCert证书和TestSymmetric对称密钥,加密并存储用户密码,然后展示了解密过程,确保数据的安全存储。
摘要由CSDN通过智能技术生成

--创建数据库主密钥

CREATE MASTER KEY ENCRYPTION BY PASSWORD ='passW@ord'

GO

--创建证书

CREATE CERTIFICATE TestCert with SUBJECT = 'Test Certificate'

GO

--创建对称密钥

CREATE SYMMETRIC KEY TestSymmetric WITH ALGORITHM = AES_256

ENCRYPTION BY CERTIFICATE TestCert

GO

--使用对称秘钥加密数据

OPEN SYMMETRIC KEY TestSymmetric DECRYPTION BY CERTIFICATE TestCert;

INSERT INTO TBLUser values('张三', ENCRYPTBYKEY(Key_Guid(N'TestSymmetric'), '123456'));

CLOSE SYMMETRIC KEY TestSymmetric;

GO

--查看加密后的数据

SELECT * FROM TBLUser

GO

--解密数据

OPEN SYMMETRIC KEY TestSymmetric DECRYPTION BY CERTIFICATE TestCert;

SELECT Name, CAST(DecryptByKey(password) as varchar(100)) Password FROM TBLUser;

CLOSE SYMMETRIC KEY TestSymmetric;

GO

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值