Шифрование на стороне БД через NHibernate - PullRequest
1 голос
/ 14 ноября 2008

Мы собираемся зашифровать поле с помощью шифрования на стороне DB через NHibernate (большинство примеров, с которыми мы сталкивались, относятся к стороне приложения, а это не то, что нам хотелось бы). Вопрос поднимался пару раз, но пока ответов нет.

Например, в SQL Server 2005 и забыв о проблемах с ключами, это означает ВСТАВЛЕНИЕ EncryptByKey (Key_GUID (MyKey), MyValueToEncrypt) и ВЫБОР DecryptByKey (MyEncryptedField). Свойство может быть строкой, тогда как поле должно быть varbinary.

Мы смутно получили что-то - используя upper () и lower () вместо функций шифрования - путем объединения парных свойств, одно из которых сопоставлено с пользовательским типом пользователя, а другое - с атрибутом формулы.

Однако, если у кого-то есть идеи, как сделать это лучше, мы были бы очень благодарны за несколько советов: o)

Ответы [ 3 ]

1 голос
/ 20 ноября 2008

Опубликован набросок мерзкого хака на форуме NHibernate

0 голосов
/ 17 ноября 2008

спасибо за отзыв! Мы сохраняем подход MindLib в качестве крайней меры, поскольку он эффективно переносит владение данными из БД в приложение. Насколько мы можем судить, БД с поддержкой TDE (скажем, SQL Server 2008 или Oracle 10.2) устраняют эту проблему, но не все наши клиенты готовы потратить на обновления;

0 голосов
/ 15 ноября 2008

В SourceForge, MindLib, есть проект, в котором есть полезные служебные функции и библиотеки NHibernate. Одной из них является библиотека EncryptedString, которая позволяет хранить зашифрованную строку. К сожалению, этого не происходит на стороне сервера, как вы изначально просили.

Я искал что-то подобное. Единственное, что я мог придумать, - это создать пользовательскую функцию в SQL Server для шифрования строки. Что-то вроде это .

MindLib EncryptedString

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...