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