我现在尝试为数据库中的一个列实现Encrypt。但是我们的系统有两部分 - 一部分是使用实体框架Core而另一部分是使用ado.NET
现在的问题是我们的SQL是标准版,没有Always Encrypt模块,所以如果我们将加密逻辑构建到.NET那么SQL程序部分必须调用CLR代码,微软已经说过不建议这个了,因为它会导致MayLeakOnAbort问题,还需要使数据库TRUSTWORTH和Mode to Unsafe。如果在数据库中创建密钥并将逻辑移动到数据库中,那么如何检索Entityframework数据?因为数据已加密,那么我们需要为每条记录调用dbo.Decrypt,这将导致巨大的性能问题。
那么是否有任何算法或解决方案可以在.NET和SQL端进行加密和解密,结果是否相同?
环境:.NET Entity Framework Core 2.0,MSSQL Standard Edition 2017 感谢。