Поиск зашифрованных данных в Mysql - PullRequest
0 голосов
/ 09 октября 2018

У меня есть сценарий использования, где я храню много пользовательских данных в mysql.По причинам PII он хранится в зашифрованном виде.Здесь есть два важных столбца: first_name и last_name .

Я хочу создать функцию для поиска по имени пользователя (как первого, так и последнего)

Есть пара подходов, которые, на мой взгляд, имеют смысл.

  1. Поместите данные пользователя в Elastic Search и выполните там нечеткий поиск.Что-то вроде {firstName: XYZ, lastName: ABC, userId: 123}, извлеките здесь идентификатор пользователя, затем извлеките оставшуюся информацию из mysql.

  2. Зашифруйте строку запроса и найдите еев FirstName и LastName - будут работать в некоторых случаях, но не будут работать в большинстве случаев, когда смешиваются Имя и Фамилия.например: Имя: ABC DEF XYZ - и ABC DEF - это Имя, и лицо, запрашивающее ABC, и теперь ничего не вернется.

  3. Запросите все записи, расшифруйте их и затем отфильтруйте вкод - плохая идея, моя виртуальная машина будет работать с OOM, и она будет слишком медленной для опроса, дешифрования, поиска во всех записях.

  4. Хранение имени пользователя в текстовом формате в Mysql неопция - выпуск PII

Приложение использует Hibernate, если это имеет значение.

Пожалуйста, предложите, как выглядит лучший вариант, или есть лучший варианттогда эти.

...