从另一个数据库访问Sql Server数据库上的加密密钥

时间:2018-08-15 20:04:17

标签: sql-server

有2个数据库:StgDb和ArchDb

在StgDb上创建了具有密码保护的非对称密钥“ AK”。

CREATE ASYMMETRIC KEY AK
WITH ALGORITHM = RSA_2048
ENCRYPTION BY PASSWORD = 'XXX';

从StgDb上的非对称密钥“ AK”创建对称密钥“ SK”。

CREATE SYMMETRIC KEY SK
WITH ALGORITHM = AES_256
ENCRYPTION BY ASYMMETRIC KEY AK

使用对称密钥“ SK”对StgDb上的数据进行加密,然后将其推送到ArchDb。

OPEN SYMMETRIC KEY SK DECRYPTION BY ASYMMETRIC KEY AK WITH PASSWORD = 'XXX';
GO

SELECT EncryptByKey( Key_GUID('SK'), 'Hello' )

ArchDb上的视图需要使用在StgDb上创建的非对称密钥来解密数据。 下面的内容在StgDb上有效,但在ArchDb上无效
SELECT CONVERT(VARCHAR(MAX),DECRYPTBYKEYAUTOASYMKEY(ASYMKEY_ID('AK'), N'XXX',0x0019xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx))

StgDb上的SK如何在ArchDb中使用?

0 个答案:

没有答案