gpt4 book ai didi

sql-server - 如何在一台 SQL Server 上加密并在另一台 SQL Server 上解密?

转载 作者:行者123 更新时间:2023-12-02 22:59:17 35 4
gpt4 key购买 nike

我们希望使用 SQL Server 加密来加密数据库中的几个列。我们还需要在生产和测试环境之间传输数据。看来最好的解决方案是在生产和测试服务器上使用相同的主 key 、证书和对称 key ,以便我可以在生产或测试环境中加密或解密列,并获得相同的结果。

到目前为止,我已经尝试在两个环境中使用相同的创建脚本,但没有成功。数据传输到另一台服务器后,它在一台服务器上加密,但在另一台服务器上没有解密:

use <database name>
CREATE MASTER KEY ENCRYPTION BY
PASSWORD = <password1>

use <database name>
CREATE CERTIFICATE <certificate name>
WITH SUBJECT = <certificate subject>

use <database name>
CREATE SYMMETRIC KEY <key name>
WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE <certificate name>

我尝试在一台服务器上创建主 key 、证书和对称 key ,然后在另一台服务器上恢复它,这似乎没有创建 key ,因此也不起作用.

use <database name>
OPEN MASTER KEY DECRYPTION BY PASSWORD = <password1>
BACKUP MASTER KEY TO FILE = 'c:\masterkey.txt'
ENCRYPTION BY PASSWORD = <password2>

use <database name>
BACKUP CERTIFICATE <certificate name> TO FILE = 'c:\Cert.txt'
WITH PRIVATE KEY ( FILE = 'c:\Key.txt' ,
ENCRYPTION BY PASSWORD = <password3> )

use <database name>
RESTORE MASTER KEY
FROM FILE = 'c:\masterkey.txt'
DECRYPTION BY PASSWORD = <password2>
ENCRYPTION BY PASSWORD = <password1>

use <database name>
OPEN MASTER KEY DECRYPTION BY PASSWORD = <password1>
CREATE CERTIFICATE <certificate name>
FROM FILE = 'c:\Cert.txt'
WITH PRIVATE KEY (FILE = 'c:\Key.txt',
DECRYPTION BY PASSWORD = <password3>)

如何在一台 SQL Server 上加密并在另一台 SQL Server 上解密?

最佳答案

我们发现,在第一台服务器上加密时,您需要创建指定 key 源和身份值的对称 key 。然后,在其他服务器上解密时,您在创建对称 key 时指定相同的 key 源和身份值。

关于sql-server - 如何在一台 SQL Server 上加密并在另一台 SQL Server 上解密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5249713/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com