CREATE ASYMMETRIC KEY Asym_EPassword
WITH ALGORITHM = RSA_512
ENCRYPTION BY PASSWORD = testdemo123
我用上面的加密非对称密钥加密了我桌子的Password
列。
现在我想在password
查询中解密select
列
任何人都可以建议如何做到这一点?
SELECT CONVERT(NVARCHAR(100),
DecryptByAsymKey(AsymKey_ID('Asym_EPassword'),
YourColumn, 'testdemo123')) AS PlainText
FROM YourTable;
SQLFiddle不允许用户创建非对称密钥,因此要将其复制/粘贴到您自己的SSMS:
CREATE ASYMMETRIC KEY Asym_EPassword
WITH ALGORITHM = RSA_512
ENCRYPTION BY PASSWORD = 'testDemo123!'
DECLARE @PlainText NVARCHAR(100)
DECLARE @CipherText VARBINARY(MAX)
SET @PlainText = 'AAAAA'
SELECT @CipherText = EncryptByAsymKey(AsymKey_ID('Asym_EPassword'), @PlainText);
SELECT @CipherText;
SELECT CONVERT(NVARCHAR(100), DecryptByAsymKey(AsymKey_ID('Asym_EPassword'), @CipherText, N'testDemo123!'));