Является ли время () хорошей солью?
Я смотрю на какой-то код, который я не написал сам. Код пытается хэшировать пароль с помощью SHA512 и использует только time() как соль. Это time() слишком простая соль для этого или этот код безопасен?
Спасибо за ответы и комментарии. Я подведу итог здесь для новых читателей:
- соль должна быть разной для каждого пользователя, поэтому, если 2 пользователя регистрируются одновременно, их соли не будут уникальными. Это проблема, но не большая.
- но соль не должна быть каким-либо образом связана с пользователем, поэтому time() не является хорошей солью.
- "используйте случайную, равномерно распределенную соль с высокой энтропией. " -- это полный рот, так что какой код может генерировать
random, evenly distributed, high entropyсоль?
хорошо, так как насчет того, чтобы я заменил time() случайной строкой длиной 32 символа. Случайная строка может быть сгенерирована из цикла 32 раз по набору символов алфавита. Это звучит хорошо?
Comments