我正在尝试解密密钥,它返回空值。
--CREATE MASTER KEY ENCRYPTION
--BY PASSWORD = 'Password1'
--CREATE CERTIFICATE MyCert
--WITH SUBJECT = 'MyCert'
--CREATE SYMMETRIC KEY MyKey
--WITH ALGORITHM = TRIPLE_DES ENCRYPTION
--BY CERTIFICATE MyKey
OPEN SYMMETRIC KEY MyKey DECRYPTION
BY CERTIFICATE MyCert;
INSERT INTO sometable (ENCRYPTBYKEY(KEY_GUID('MyKey'),'12345'));
CLOSE SYMMETRIC KEY MyKey;
OPEN SYMMETRIC KEY MyKey DECRYPTION
BY CERTIFICATE MyCert;
SELECT
CONVERT(VARCHAR(50), DECRYPTBYKEY(some_column))
FROM sometable;
CLOSE SYMMETRIC KEY MyKey;
该列定义为 varbinary(256)。
结果为空。如何更改它以获取解密的值而不是 null?或者有哪些可能的陷阱或需要检查的东西?