Является ли использование функции CreateUUID () в качестве соли хорошей идеей? - PullRequest
8 голосов
/ 30 августа 2010

Я использую Coldfusion, и я хотел бы создать случайное поле соли для моих паролей.Мне было интересно, если функция CreateUUID () полезна здесь.Я нашел много примеров, которые используют отдельную функцию для создания строки соли;но зачем это делать, если вместо этого вы можете использовать функции rand () или CreateUUID ()?Я не уверен.

Это перебор или хорошая идея?Или я должен вместо этого использовать rand () или метку времени?

1 Ответ

8 голосов
/ 30 августа 2010

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

Например, первые n байтов CreateUUID - это ваш MAC-адрес - т.е. всегда одинаков для каждой соли . Делая это, вы значительно уменьшили количество энтропии, которое имеют ваши соли, тем самым облегчая их взлом. Если возможно, используйте библиотеки для обработки всего сценария аутентификации, а если нет, то используйте реальную функцию rand ().

...