--以下代码包括创建密钥,加密,解密和删除密钥
/*
1.利用对称密钥
搭配EncryptByKey进行数据加密
使用DecryptByKey函数进行解密
这种方式比较适合大数据量
*/
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'XIAOMA'
CREATE CERTIFICATE TOMCERT WITH SUBJECT = 'ZXC CERTIFICATE', EXPIRY_DATE = '2015/01/01'
CREATE SYMMETRIC KEY SYM_TOM WITH ALGORITHM = DESX ENCRYPTION BY CERTIFICATE TOMCERT
OPEN SYMMETRIC KEY SYM_TOM DECRYPTION BY CERTIFICATE TOMCERT
SELECT CONVERT(NVARCHAR(10), Decryptbykey(( Encryptbykey(Key_guid('SYM_TOM'), N'TOM3') )))
CLOSE SYMMETRIC KEY SYM_TOM
DROP SYMMETRIC KEY SYM_TOM
DROP CERTIFICATE TOMCERT;
DROP MASTER KEY;
--或--
CREATE SYMMETRIC KEY ZXC WITH ALGORITHM = AES_256 ENCRYPTION BY PASSWORD = 'ZXC123456'
OPEN SYMMETRIC KEY ZXC DECRYPTION BY PASSWORD = 'ZXC123456'
SELECT CONVERT(VARCHAR(10), Decryptbykey(Encryptbykey(Key_guid('ZXC'), 'YHDH_C')))
CLOSE SYMMETRIC KEY ZXC;
DROP SYMMETRIC KEY ZXC;
/*
2.利用非对称密钥
搭配EncryptByAsymKey进行数据加密
使用DecryptByAsymKey函数进行解密
用于更高安全级别的加解密数据
*/
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'XIAOMA'
CREATE ASYMMETRIC KEY ABC WITH ALGORITHM=RSA_2048 ENCRYPTION BY PASSWORD = 'ZXC123456'
ALTER ASYMMETRIC KEY ABC WITH PRIVATE KEY (DECRYPTION BY PASSWORD = 'ZXC123456')
SELECT CONVERT(VARCHAR(100), Decryptbyasymkey (Asymkey_id('ABC'), Encryptbyasymkey(Asymkey_id ('ABC'), 'ZXC123456')))
DROP ASYMMETRIC KEY ABC;
DROP MASTER KEY
/*
3.利用凭证的方式
搭配EncryptByCert进行加密
DecryptByCert函数进行解密
比较类似非对称密钥
*/
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'XIAOMA'
CREATE CERTIFICATE ZXC WITH SUBJECT = 'ZXC CERTIFICATE', EXPIRY_DATE = '2015/01/01'
SELECT CONVERT(VARCHAR(20), Decryptbycert(Cert_id('ZXC'), Encryptbycert(Cert_id('ZXC'), '123456')))
DROP CERTIFICATE ZXC;
DROP MASTER KEY
--或--
CREATE CREDENTIAL AlterEgo WITH IDENTITY = 'Mary5',
SECRET = '123456';
ALTER LOGIN User1
ADD CREDENTIAL AlterEgo
Drop CREDENTIAL AlterEgo
DROP CREDENTIAL AlterEgo
/*
4.利用密码短语方式
搭配EncryptBypassPhrase进行加密
使用DecryptByPassPhrase函数来解密
比较适合一般的数据加解密
*/
SELECT CONVERT(VARCHAR(100), Decryptbypassphrase('xiaoma', Encryptbypassphrase('xiaoma', '123456')))
温馨提示:答案为网友推荐,仅供参考