Очевидно, что они не предназначены для просмотра, поэтому поиск по ним будет проблематичным.
Один прием, который я использовал в прошлом, заключается в хешировании зашифрованных данных перед их шифрованием и сохранении хеша в индексированном столбце. Конечно, это работает, только если вы ищете по всей стоимости; частичные значения не будут иметь одинаковый хэш.
Возможно, вы могли бы расширить это, сделав «полнотекстовый» индекс хешей, если вам нужно, но это может очень быстро усложниться.
ДОПОЛНЕНИЕ
Было предложено добавить сноску к своему ответу за довольно продолжительную дискуссию в чате об уязвимости к атакам по словарю, поэтому я расскажу об этой потенциальной угрозе безопасности для вышеупомянутого подхода.
Атака по словарю. Атака по словарю - это когда кто-то предварительно хеширует список известных значений и сравнивает хэши с вашим хэшированным столбцом в базе данных. Если они могут найти совпадение, вероятно, известное значение на самом деле является тем, что хэшируется (хотя это не является определенным, потому что хэши не гарантированно будут уникальными). Обычно это смягчается хэшированием значения с добавлением или добавлением случайной «соли», чтобы хэш не совпадал со словарем, но в приведенном выше ответе нельзя использовать соль, поскольку вы теряете возможность поиска.
Эта атака опасна, когда речь идет о таких вещах, как пароли: если вы создаете словарь популярных хэшей паролей, вы можете быстро найти в таблице это значение хеш-функции и определить пользователя, у которого есть такой пароль, и эффективно извлечь учетные данные, чтобы украсть личность этого пользователя. ,
Это менее опасно для предметов с высокой степенью кардинальности, таких как SSN, номера кредитных карт, GUID и т. Д. (Но существуют разные риски [читай: юридические], связанные с их хранением, поэтому я не склонен советовать их хранить ).
Причина этого заключается в том, что для того, чтобы атака по словарю сработала, необходимо предварительно составить словарь возможных значений и их хэшей. Теоретически вы могли бы создать словарь всех возможных SSN (миллиард строк, предполагая, что все перестановки форматирования удалены; несколько десятков триллионов записей для кредитных карт) ... но обычно это не точка словарной атаки, и в основном становится сопоставимым с атакой грубой силы, когда вы систематически исследуете каждое значение.
Вы также можете найти конкретный номер SSN или номер кредитной карты, если вы пытаетесь сопоставить номер SSN с человеком. Опять же, обычно это не точка атаки по словарю, но это возможно сделать, поэтому, если вам нужно избежать этого риска, мой ответ не является хорошим решением для вас.
Так что у вас есть это. Как и для всех зашифрованных данных, они обычно зашифрованы по какой-либо причине, поэтому будьте внимательны с вашими данными и от того, от чего вы пытаетесь их защитить.