Алгоритм создания анонимного уникального идентификатора из серийного номера - PullRequest
3 голосов
/ 19 сентября 2011

Я хотел бы записать простую статистику использования мобильного приложения. Для конфиденциальности моих пользователей, я бы предпочел не хранить их фактический серийный номер устройства в базе данных, если это возможно. Существует ли простой алгоритм, который может хэшировать или преобразовывать серийный номер в анонимный идентификатор и не может быть отменен, при этом гарантируя уникальность?

Ответы [ 2 ]

2 голосов
/ 19 сентября 2011

Да, вы хотите использовать UUID .Почти все языки имеют это.Насколько я знаю, их нельзя повернуть вспять, чтобы вернуть первоначальное «семя».

0 голосов
/ 19 сентября 2011

Создать HASH серийного номера устройства.Хеш по определению является односторонним шифрованием.Используйте алгоритм SHA-256.

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

[SHA-256 of serial number][Time Stamp][Data to store]
...