конкатенация или "xor" ключи перед хешем для создания уникального идентификатора? - PullRequest
1 голос
/ 03 декабря 2010

Я хочу создать уникальный идентификатор для устройства, поэтому я решил создать SHA1 (временная метка XOR XOR user_password).Есть ли какие-либо проблемы безопасности, связанные с этим?Было бы лучше сделать SHA1 (mac CONCATENATE timestamp CONCATENATE user_password)?

Спасибо

1 Ответ

5 голосов
/ 03 декабря 2010

Используйте объединение - тогда вы будете основывать свой хеш на всех доступных исходных данных.

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

И конкатенация, а не XORing не повлияет на пространство, необходимое для хранения вашего хеша - сгенерированный хеш SHA1 всегда будет составлять 20 байтов независимо от размера ваших исходных данных.

...