Как я могу сравнить два списка строк от двух людей, не разделяя фактические строки между людьми? - PullRequest
0 голосов
/ 06 октября 2011

Например, как может владелец списка A сравнить, сколько их строк существует в списке B, даже не видя список B?

List A            List B
abcdef            abcdef
ghijkl            mnopqr
stuvwx            stuvwx
yz0123            

Результата должно быть два.Например, в списке A есть 2 строки, найденные в списке B. Это достаточно просто, если списки доступны в открытом тексте.Но как найти этот ответ, если владелец списка А не увидит список Б?

Ответы [ 2 ]

1 голос
/ 06 октября 2011

Вы можете хешировать строки в двух списках, а затем сравнивать хэши.

0 голосов
/ 06 октября 2011

Если пользователи A и B являются узлами, у которых нет реальной «системы» для обработки транзакций между ними, тогда:

  1. Каждый пользователь вносит свой список в свое программное обеспечение сеанса или клиента.
  2. Сеансовое или клиентское программное обеспечение хэширует элементы списка.
  3. Затем сессионное или клиентское программное обеспечение запрашивает базу данных на предмет совпадения хэшей у пользователя B.
  4. Если другим пользователям необходимо сравнить свои спискис пользователем A сеансовое или клиентское программное обеспечение сохраняет все хеши для списка пользователя A в базе данных под записями для пользователя A.

Однако, если - это реальная система (сервер)) между двумя пользователями, он может видеть все записи списка и передавать совпадения пользователям.

...