Шифрование и дешифрование строк в Excel

Если Вы следуете, школа Jeff Atwood базы данных является просто немым хранением данных & поисковая система тогда Вы поместили бы всю проверку в прикладной уровень.

Однако я нахожу, что приложения похожи на маленьких детей. Неконтролируемый они бросят все вокруг комнаты. Это будет до родителей для разгребания бардак. В этом случае это будет DBAs выполнение очистки.

Однако я думаю, что необходимо быть осторожны относительно использования каждой функции обеспечения целостности данных базы данных, просто потому что это там. Перегрузка Вашей базы данных с ограничениями внешнего ключа и триггерами могла бы создать больше проблем, чем Вы думаете. Я склонен использовать внешние ключи только на таблицах, которые очень тесно связаны, таковы как пара таблицы заголовка/детали. Если Вы начинаете добавлять внешние ключи везде, можно закончить с unmagageable базой данных.

я редко использую триггеры. Я думаю, что они делают базу данных очень непрозрачной. Вы выходите, простое обновляют/вставляют/удаляют команду, и странные вещи могли бы произойти. Я предполагаю, что существует два места, где триггеры неизбежны:

  1. , Когда у Вас нет исходного кода к приложению, пишущему в базу данных и необходимо изменить поведение. Триггеры являются Вашей единственной опцией.

  2. , Если Вы выполняете операции CRUD на представлении. Триггеры обязательны для вставить/обновить/удалить операций.

я склонен выполнять основную проверку в приложении. Таким образом, пользователю дают непосредственную обратную связь, что что-то неправильно. Сложная проверка, которая требует поиска связанных таблиц, вероятно, лучше всего сделана в базе данных (а также простая проверка, которую приложение делает). Я утверждал бы, что некоторые формы проверки почти невозможно гарантировать на прикладном уровне, не используя сложные стратегии блокировки.

, Если у Вас есть несколько приложений, возможно записанных на различных языках на различных платформах, тогда случай для помещения большего количества проверки на слой базы данных усилен. liklihood двух или больше приложений, записанных различными программистами, выполняя идентичную проверку, является довольно удаленным. Лучше всего сделайте это в одном месте.

Jeff Atwoods этого мира предложил бы, чтобы Вы записали веб-сервис что все использование приложений для передачи с. Веб-сервис выполняет подтверждение правильности данных. Выполнение этого позволяет базе данных оставаться немым контейнером устройства хранения данных, таким образом позволяя Вам переключить механизмы базы данных. В действительности Вы редко изменяете механизмы базы данных (если Вы не начали с Microsoft Access!). Если Вы пишете веб-сервисы просто для централизации подтверждения правильности данных тогда я thnk, Вы идете за борт.

12
задан Community 9 July 2018 в 19:34
поделиться

1 ответ

Предоставляемая вами ссылка показывает, как выполнять шифрование и дешифрование строк с помощью VB.NET, и, таким образом, используя .NET Framework.

В настоящее время продукты Microsoft Office еще не могут использовать компонент Visual Studio Tools for Applications , который позволит продуктам Office получать доступ к BCL (библиотекам базовых классов) .NET framework, которые, в свою очередь, , получить доступ к базовому Windows CSP (поставщик криптографического сервера) и предоставить красивую оболочку для этих функций шифрования / дешифрования.

В настоящее время продукты Office застряли на старом VBA ( Visual Basic для приложений ) который основан на старых VB6 (и более ранних) версиях Visual Basic, которые основаны на COM, а не на .NET Framework.

Из-за всего этого вам нужно будет либо вызвать Win32 API для доступа функции CSP, или вам придется использовать метод шифрования «самостоятельно» в чистом коде VB6 / VBA, хотя это, вероятно, будет менее безопасно. Все зависит от того, насколько «безопасным» должно быть шифрование.

Если вы хотите использовать базовую процедуру шифрования / дешифрования строк, взгляните на эту ссылку, чтобы начать:

23
ответ дан 2 December 2019 в 04:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: