Одностороннее криптографическое хеширование числа, гарантирующее уникальность каждого результата. - PullRequest
0 голосов
/ 25 октября 2010

Есть ли хороший алгоритм для этого? после долгих поисков я не смог найти окончательных ответов.

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

Очевидно, что при уникальных значениях можно было бы перепроектировать используемый алгоритм. но я не уверен, что его 100% неразрушимость - это большая проблема здесь, а не то, чтобы сделать так, чтобы не было легкого способа изменить его

спасибо

Ответы [ 2 ]

3 голосов
/ 25 октября 2010

Для каждого идентификатора создайте уникальный случайный идентификатор и сохраните его как часть информации пользователя.

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

0 голосов
/ 25 октября 2010

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

Насколько я знаю, значение хеш-функции не может быть обращено

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...