Каковы последствия производительности шифрования в SQL Server 2008? - PullRequest
0 голосов
/ 26 февраля 2011

Если у вас была таблица, в которой было 100 000 000 адресов электронной почты (пример), и вы хотите хранить их надежно, но при этом не хотите, чтобы их производительность сильно пострадала, как бы вы их сохранили?

1 Ответ

0 голосов
/ 26 февраля 2011

Алгоритмы шифрования предназначены для быстрой работы. Если вы решили, что шифрование ваших данных важно (а личная информация, такая как адрес электронной почты , важна, как указал @Marc B), тогда возникает вопрос: «Какой алгоритм имеет правильную производительность для моего варианта использования?

Я бы посоветовал вам посмотреть, какую пропускную способность вы ожидаете, и протестировать ее. Используйте стандартный отраслевой алгоритм и посмотрите, соответствует ли он вашим потребностям. Что бы вы ни делали, не катите свое собственное шифрование. Crypto - трудно , чтобы получить право, поэтому доверяйте экспертам.

Я бы посоветовал вам начать с AES / CBC / PKCS5. Сохраните зашифрованный текст в виде большого двоичного объекта в базе данных. Хранение ключей всегда непросто и обсуждалось на StackOverflow довольно много, поэтому, если вам повезет, вы можете получить совет по этому аспекту довольно легко. Если вы получаете достаточную пропускную способность с этим алгоритмом, то все готово. Если нет, ищите более быстрый алгоритм. Я рекомендую http://bouncycastle.org в качестве хорошей криптографической библиотеки. В нем реализовано множество алгоритмов, поэтому вы можете поэкспериментировать и найти тот, который соответствует вашим потребностям.

Я уже говорил, что вы не должны проверять свое собственное шифрование? Хорошо.

...