Подходящая альтернатива CryptEncrypt - PullRequest
2 голосов
/ 20 августа 2008

В нашем продукте есть ситуация, когда в течение длительного времени некоторые данные сохранялись в базе данных приложения в виде строки SQL (выбор сервера MS SQL или Sybase SQL в любом месте), которая была зашифрована с помощью функции Windows API CryptEncrypt . (прямой и дешифруемый)

Проблема в том, что CryptEncrypt может выдавать значения NULL в выводе, что означает, что при сохранении в базе данных, манипуляции со строками в какой-то момент усекают CipherText.

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

Алгоритм не обязательно должен быть максимально безопасным, поскольку база данных уже находится в достаточно безопасной среде (не в открытой сети / между сетями), но должна быть лучше, чем ROT13 (которую я могу почти расшифровать) в моей голове сейчас!)

edit: btw, есть какая-то конкретная причина для замены зашифрованного текста на зашифрованный? шифртекст кажется более широко используемым ...

Ответы [ 4 ]

3 голосов
/ 20 августа 2008

Любой полуприличный алгоритм в конечном итоге с большой вероятностью сгенерирует значение NULL где-нибудь в результирующем зашифрованном тексте.

Почему бы не сделать что-то вроде base-64, кодирующего ваш полученный двоичный двоичный объект перед сохранением в БД? ( пример реализации в C ++ ).

1 голос
/ 20 августа 2008

Хранение хеша - хорошая идея. Тем не менее, пожалуйста, обязательно прочитайте Джеффа Вы, вероятно, неправильно храните пароли .

0 голосов
/ 20 августа 2008

Похоже, что разработчик, обрабатывающий это, собирается обернуть существующее шифрование yEnc , чтобы сохранить целостность таблицы, так как данные должны быть извлекаемыми, и это избавит от всего этого беспорядочного взлома с помощью infinite -impbab .... ээээ, изменение типов колонок на укоренившихся установках. Приветствия, ребята

0 голосов
/ 20 августа 2008

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

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