我试过使用“EncryptByPassPhrase”,如果我能得到密码生成的底层密钥,这对我有用,但我在互联网上找不到任何地方解释如何做到这一点。
我对相关 EncryptByCert 或 EncryptByKey 的阅读是我必须在数据库中创建和存储密钥。
我有一个约束,我不能更新源数据库,因此我不能在数据库上创建和存储密钥。
我真正想要的是一种使用现有外部公钥或证书在不同系统上加密和解密的方法。
我试过使用“EncryptByPassPhrase”,如果我能得到密码生成的底层密钥,这对我有用,但我在互联网上找不到任何地方解释如何做到这一点。
我对相关 EncryptByCert 或 EncryptByKey 的阅读是我必须在数据库中创建和存储密钥。
我有一个约束,我不能更新源数据库,因此我不能在数据库上创建和存储密钥。
我真正想要的是一种使用现有外部公钥或证书在不同系统上加密和解密的方法。
如果您无法更新源数据库,我猜您最好的选择是使用 CLR 创建自定义存储过程,然后您可以使用任何外部库来执行您需要的加密。
这里有一个例子:
http://sachabarbs.wordpress.com/2007/06/06/sql-server-clr-functions/