Очевидно, що вони не призначені для перегляду, тому пошук на них був би проблематичним.
Один фокус, який я використовував у минулому, - це хешувати зашифровані дані перед шифруванням та зберігати хеш у індексованому стовпці. Звичайно, це працює лише в тому випадку, якщо ви шукаєте ціле значення; часткові значення не будуть мати однаковий хеш.
Можливо, ви могли б розширити це, зробивши "повнотекстовий" індекс хешей, якщо вам потрібно, але це може ускладнитися дуже швидко.
ДОБАВЛЕННЯ
Запропоновано я додати виноску до своєї відповіді під час досить тривалої дискусії у чаті про вразливість до словникових атак, тому я обговорюватиму цей потенційний ризик безпеки до вищевказаного підходу.
Атака словника: Атака словника - це коли хтось попередньо хеширує список відомих значень і порівнює хеші зі стовпчиком хешу в базі даних. Якщо вони зможуть знайти відповідність, цілком імовірно, що відома цінність - це те, що хеширується (Хоча це не визначено, тому що хеші не гарантовано є унікальними). Зазвичай це пом'якшується хешуванням значення з доданою або попередньою попередньою сіллю, що додається або попередньо, щоб хеш не відповідав словнику, але вищевказана відповідь не може використовувати сіль, оскільки ви втрачаєте пошук.
Ця атака небезпечна при роботі з такими речами, як паролі: якщо ви створюєте словник популярних хешів паролів, ви можете швидко шукати таблицю для цього хеш-значення і ідентифікувати користувача, у якого такий пароль, і ефективно витягувати облікові дані, щоб викрасти особу цього користувача. .
Він менш небезпечний для предметів з високим ступенем кардинальності, як-от SSN, номери кредитних карток, GUID тощо (але існують різні ризики [читайте: юридичні], пов’язані із їх зберіганням, тому я не схильний радити їх зберігати. ).
Причиною цього є те, що атака словника спрацьовує, потрібно мати попередньо вбудований словник можливих значень та їх хешів. Теоретично можна створити словник усіх можливих SSN (мільярд рядків, припускаючи, що всі перестановки форматування видалено; кілька десятків трильйонів записів для кредитних карток) ... але це зазвичай не суть нападу словника, і в основному стає порівнянним з грубою атакою, коли ви систематично досліджуєте кожну цінність.
Ви також можете шукати конкретний номер SSN або кредитної картки, якщо ви намагаєтесь відповідати SSN особі. Знову ж таки, звичайно, це не суть нападу на словник, але це можливо зробити, тому якщо це ризик, якого вам потрібно уникати, моя відповідь не є для вас хорошим рішенням.
Так ось у вас це є. Як і всі зашифровані дані, вони зазвичай шифруються з причини, тому будьте в курсі своїх даних і від чого ви намагаєтесь їх захистити.