2010-05-10 83 views
0

我在我的一台SQL服务器(2008)上创建了非对称密钥。我加密了一个密码字段,并且我能够在我的开发服务器上很好地检索到该密码。SQL加密 - 非对称密钥 - 第二服务器

问题在我需要将这些数据移动到生产服务器时发挥作用。

下面是创建的关键代码:

CREATE MASTER KEY ENCRYPTION BY PASSWORD='#########' 
CREATE ASYMMETRIC KEY UserEncryptionKey 
WITH ALGORITHM = RSA_2048 

现在,当我在生产服务器上运行它,它创建的键就好了。但是,当我运行我的sproc获取密码时,它将返回NULL。

SQL:

SELECT EncryptByAsymKey(AsymKey_ID('UserEncryptionKey'), Password) 
    FROM Users WHERE UserName = '######' 

我需要什么做的就是加密领域在多个SQL服务器的工作有什么想法?

请让我知道,如果我需要澄清的东西。

谢谢

回答

0

不要将加密数据从数据库移到另一个数据库。从技术上讲是可能的,真实的,但你可能会损害过程中的关键,所以我宁愿不告诉你如何去做。

当数据在站点之间交换时,通常的过程将密钥管理和部署与数据传输分开。数据在传输之前被解密,并且使用专用的数据传输加密方案(如TLS和SSL),消除了部署和共享实际加密密钥的问题。

Asa方面说明,通常不会使用非对称密钥加密数据。数据操作的速度太慢。大家做的是他们用对称密钥加密数据,然后用非对称密钥加密对称密钥。

+0

好,太好了,谢谢! – CodeLikeBeaker 2010-05-13 13:53:44