我可以在不在服务器上存储密钥的情况下从MS SQL Server TSQL加密数据吗?

时间:2013-05-22 09:54:12

标签: sql-server encryption

我尝试过使用“EncryptByPassPhrase”,如果我可以获得密码生成的底层密钥,这对我有用,但我在互联网上找不到解释如何做到这一点。

我对相关的EncryptByCert或EncryptByKey的阅读是我必须在数据库上创建和存储密钥。

我有一个约束,我不能更新源数据库,因此我无法在数据库上创建和存储密钥。

我真正想要的是使用现有外部公钥或证书,在不同系统上加密和解密的方法。

1 个答案:

答案 0 :(得分:0)

如果您无法更新源数据库,我猜您最好的选择是使用CLR创建自定义存储过程,然后您可以使用任何外部库来执行所需的加密。

这里有一个例子:

http://sachabarbs.wordpress.com/2007/06/06/sql-server-clr-functions/