BCrypt не шифрует ничего. Это алгоритм HASHING, который использует Blowfish внутренне, но фактически не шифрует ваши данные.
Основное различие:
хеширования представляет собой алгоритм, который принимает данные от переменного размера и формирует представление фиксированного размера этих данных. Исходные данные, если они не хранятся в другом месте, не теряются и не могут быть восстановлены.
Шифрование - алгоритм, который принимает данные переменного размера и генерирует кусок данных аналогичного размера. Исходные данные, если они не сохранены в другом месте (тем самым исключая цель шифрования), теряются. Однако CAN может быть восстановлен. В процессе шифрования используется отдельный фрагмент данных, который называется Ключ. Если используется соответствующий алгоритм дешифрования, тот же ключ расшифровывает данные, и исходная информация может быть восстановлена.
Итак:
Прежде чем кто может ответить на ваш вопрос, вы должны сначала понять, что вы просите. Вам, по сути, нужно хранить зашифрованную информацию, или, скорее, это hashed информации? Если вам просто нужно хранить конфиденциальную информацию, но никогда не нужно возвращать исходное значение обратно пользователю, то продолжайте использовать BCrypt, так как он будет hash ваших данных (тем самым делая его нечитаемым, но все же сопоставимым). Если, с другой стороны, вы хотите хранить конфиденциальную информацию, которую вам в один прекрасный день может понадобиться кому-то (например, номер кредитной карты), а затем зайдите в sql шифрование алгоритмов.
Как вы исследуете мир безопасности, вы быстро обнаружите, что это очень болезненно, но очень важно. Например: SLaks поднимает хороший момент. Если вы зашифруете свои данные, где-то, вам нужно сохранить свой ключ. Но если этот ключ найден, тогда кто-то может украсть все ваши данные! Вы должны найти способ правильно шифровать свои данные, скрывая ключ от публики. Есть несколько способов сделать это; Google немного, прежде чем совершить сделку, так как это может быть не так безопасно, как вы думаете.
Microsoft имеет некоторые хорошие рекомендации: http://technet.microsoft.com/en-us/library/ms345262.aspx
Вы не указали, что аромат SQL вы используете, поэтому аромат конкретного ответа не может быть поставлен.
Вам нужно узнать разницу между ** хэшированием ** и ** шифрованием **. – SLaks
Безопасность - _hard_. Вам нужно больше узнать об этом, прежде чем вы сможете правильно использовать шифрование. В частности, где вы будете хранить ключ? – SLaks