шифрование — Безопасное шифрование или создание уникального идентификатора для внешней связи в PHP?

Мы разрабатываем приложение PHP, которое хранит личную и анонимную информацию («отчеты») в базе данных MySQL.

Для каждого человека может быть несколько «отчетов», которые отправляются в сторонний реестр.

Проблема в том, что третье лицо не знает, какие из этих отчетов предназначены для одного и того же человека. Итак, мы хотели бы добавить уникальный, но не отслеживаемый идентификатор для человека на отчет, когда мы отправляем их. (Поскольку третье лицо не должно знать идентификатор нашего внутреннего лица)

Поскольку третья сторона может захотеть сообщить о конкретном человеке по его идентификатору, мы должны иметь возможность расшифровывать этот идентификатор в идентификатор, который хранится с нашей записью человека. (Так что хеширование не сработает). Мы также ожидаем, что в ближайшем будущем будет больше внешних сторон, которые мы хотим дать другой уникальный идентификатор на человека. (Используя другой ключ шифрования).

Какой метод шифрования мы можем использовать для шифрования идентификатора человека, чтобы он всегда давал один и тот же результат? Глядя на (например) Документы по расширению libsodium, Я думаю, что мы должны использовать тот же самый раз каждый раз, когда мы шифруем идентификатор человека. Это кажется крайне обескураженным.
Та же проблема будет применяться при использовании шифрования AES через php openssl_encrypt где:

Выдает ошибку уровня E_WARNING, если через параметр iv передается пустое значение.

-2

Решение

Мы также ожидаем, что в ближайшем будущем будет больше внешних участников, которым мы хотим дать разные уникальные идентификаторы для каждого человека. (Используя другой ключ шифрования).

+

Глядя на (например) документы по расширению libsodium, я бы подумал, что нам придется использовать один и тот же одноразовый номер каждый раз, когда мы шифруем идентификатор человека. Это кажется крайне обескураженным.

Да, даже не беспокойтесь о «ключе» против части «iv / nonce». Просто используйте разрядить / PHP-шифрование или же галит. Они оба дают вам аутентифицированное шифрование, и все, что вам нужно, это message и key,

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]