/ / Как да създадем безопасна сол? [дубликат] - php, сигурност, сол, хеш парола

Как да създадем безопасна сол? [дубликат] - php, сигурност, сол, хеш парола

Имам малък въпрос тук, защото аз съмсъздаване на система за вход и регистрация. Един разработчик в моето училище ми каза, че трябва да залепя сигурни пароли. Съгласен съм по този въпрос, но той каза, че трябва да създам солта от времевия маркер, но как да го направя? В момента правя това:

$password = hash("sha512", $password . $salt);

и солта точно като:

$salt = "xHkosbGhsfT77239GhsvH";

Това е наред в моята конфигурация, така че не е добре ...

Някой има ли съвети? Всяка идея как да го направя, така че ако някой от вас го споделя с мен!

Благодаря.

Отговори:

0 за отговор № 1

По-добре е да генерирате уникална сол за всекипотребител и ги запазете в таблицата с потребители. Така че, за проверка на паролата, просто извличайте солта на потребителя от базата данни и я използвайте. Тя е много по-безопасна от използването на една сол за дупки база данни.


0 за отговор № 2

Можеш да използваш hash_hmac() функция, която се нуждае от три аргумента (Вижте документацията). Аз го използвам по следния начин:

hash_hmac("sha512", $password . $salt, SITEKEY);

sha512 е моята предпочитана хеш функция, която генерира 128B дълги струни

$ парола е потребителска парола

$ сол е уникален низ, генериран за всеки потребител и съхраняван в базата данни в същия ред за потребителя

солта се получава като: bin2hex(openssl_random_pseudo_bytes($bits)) (Вижте документацията)

SITEKEY е уникален низ за всеки сайт, който правя