Sql server 我可以从MS SQL Server TSQL加密数据而不在服务器上存储密钥吗?

Sql server 我可以从MS SQL Server TSQL加密数据而不在服务器上存储密钥吗?,sql-server,encryption,Sql Server,Encryption,我尝试过使用“EncryptBypassPhase”,如果我能获得由密码短语生成的基础密钥,这对我来说是可行的,但我在互联网上找不到解释如何做到这一点的地方 我对相关EncryptByCert或EncryptByKey的理解是,我必须在数据库中创建并存储密钥 我有一个限制,我不能更新源数据库,因此我不能在数据库上创建和存储键 我真正想要的是一种使用现有外部公钥或证书在不同系统上加密和解密的方法。如果您无法更新源数据库,我想您最好的选择是使用CLR创建自定义存储过程,然后您可以使用任何外部库来执行

我尝试过使用“EncryptBypassPhase”,如果我能获得由密码短语生成的基础密钥,这对我来说是可行的,但我在互联网上找不到解释如何做到这一点的地方

我对相关EncryptByCert或EncryptByKey的理解是,我必须在数据库中创建并存储密钥

我有一个限制,我不能更新源数据库,因此我不能在数据库上创建和存储键


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

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

这里有一个例子:


应用程序只需加密数据并将其存储为
VARBINARY
。这将阻止查询数据,但服务器无权访问密钥的任何加密也会阻止查询数据。