Есть ли способ зашифровать столбец в SQL Server?

Да, я могу выполнить шифрование самостоятельно. Но есть ли способ указать SQL Server (и базе данных SQL Azure) зашифровать столбец, а затем выполнить его шифрование при сохранении и расшифровку при чтении?

Это столбец, который не индексируется и никогда не будет частью предложения where. Я использую Entity Framework Core для SQL Server (в наших системах разработки) и базу данных SQL Azure в наших системах контроля качества и производственных системах.

Вы хотите, чтобы сам сервер знал шифрование? Вы можете просто использовать TDE или BitLocker для всей базы данных. Если вы хотите, чтобы шифрование было доступно только для клиентского кода, у которого есть ключ, используйте шифрование столбца Always Encrypted.

Charlieface 08.04.2024 17:46

Stack Overflow предназначен для вопросов по программированию. Возможно, вы захотите изучить наш родственный сайт Администраторы баз данных , но, пожалуйста, прочитайте их справочные страницы, прежде чем спрашивать там (и, пожалуйста, удалите этот пост не по теме и просмотрите наш справочный центр, прежде чем публиковать здесь снова).

tripleee 16.04.2024 11:39
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
2
198
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

SQL Server поддерживает прозрачное шифрование столбцов на стороне клиента с помощью Always Encrypted.

Вы также можете использовать EF Value Conversions для хранения данных в столбце в формате, отличном от того, который отображается в сущности. Таким образом, у вас может быть зашифрованный столбец varbinary в SQL Server и расшифрованная строка в C#.

Это преобразование ценности интересно. Не для шифрования (Always Encrypted идеально подходит для этого), а для отображения сложных объектов в базе данных. Так что спасибо за предоставление обеих ссылок.

David Thielen 08.04.2024 19:53

Другие вопросы по теме

Есть ли какое-либо преимущество в чтении результатов запроса в блоках?
Проблемы с сохранением данных тренировок в базе данных с использованием Entity Framework Core и веб-API ASP.NET
Можем ли мы дождаться завершения миграции Entity Framework, прежде чем запускать контейнер в Docker Compose?
Почему Include и Reference().Load() не работают в Entity Framework Core
System.InvalidOperationException: невозможно преобразовать строковое значение «i» из базы данных в любое значение в сопоставленном перечислении «ItemType»
LINQ не удается перевести метод SqlFunctions
Как вызвать хранимую процедуру в Entity Framework Core 7.0, которая возвращает набор результатов, который не является реальной таблицей в базе данных?
EF Core 8 — невозможно преобразовать операцию набора после применения клиентской проекции
Сбой при обновлении базы данных
Используйте Entity Framework для создания базы данных на сервере (подход «сначала код»)