对称解密返回NULL值

时间:2013-04-02 06:59:07

标签: sql-server encryption encryption-symmetric isqlquery

我有两个数据库。我从一个表复制了所有数据并插入到另一个数据库表中。我在第二个数据库上创建了对称密钥,但是当我尝试运行查询时如下

 OPEN SYMMETRIC KEY SecureSymmetricKey DECRYPTION BY PASSWORD = N'StrongPassword';        
 select DecryptByKey(columname) as DocSSN from tablename
 CLOSE SYMMETRIC KEY SecureSymmetricKey; 

但总是返回空值。

1 个答案:

答案 0 :(得分:0)

您需要按照Create Identical Symmetric Keys on Two Servers中描述的步骤操作。您必须使用新创建的使用给定已知密钥材料的对称密钥重新加密两个服务器/数据库上的所有数据。事后无法创建密钥副本。

在服务器/数据库之间共享对称密钥是一种非常糟糕的做法。您应该使用每个数据库上的不同密钥进行加密。