Я сейчас пытаюсь реализовать шифрование для одного столбца внутри базы данных. но наша система состоит из двух частей: одна часть - это использование сущностной инфраструктуры Core, а другая - ado.NET
.
теперь проблема в том, что наш SQL является стандартной версией, не имеет модуля Always Encrypt, поэтому, если мы встраиваем логику Encrypt в .NET, то часть процедуры SQL должна вызывать код CLR, Microsoft уже сказала, что не предлагает этого, потому что это вызовет проблему MayLeakOnAbort, а также приведет к тому, что база данных TRUSTWORTH и Mode станут небезопасными.
если создать ключ в базе данных и переместить логику в базу данных, то как получить данные Entityframework? поскольку данные зашифрованы, нам нужно вызывать dbo.Decrypt для каждой записи, это вызовет огромную проблему с производительностью.
Итак, существует ли какой-либо алгоритм или решение, которое может шифровать и дешифровать как на стороне .NET, так и на стороне SQL, и результат одинаков?
Среда: .NET Entity Framework Core 2.0, MSSQL Standard Edition 2017
Спасибо.