2013-11-16 2 views
-1

Возможно ли получить пароль из хэша, созданного следующей функцией любым способом?Безопасное создание хеша для паролей

$salt является случайным числом символов 128 символов.

function Get_Hash($pwd, $salt) 
     { 
      if (CRYPT_BLOWFISH == 1) 
      { 
       $pwd = hash("sha512",$pwd); 
       $cost = "07"; 
       $hash = crypt($pwd, '$2a$' . $cost . '$' . $salt); 
       return $hash; 
      } 
      else 
      { 
       $pwd = hash("sha512",$pwd); 
       $hash = crypt($pwd, '$1$' . $salt . '$'); 
       return $hash; 
      } 
     } 

Существует уже базовая защита грубой силы, система заблокирована на 3-5 минут после 3 неудачных попыток.

Является ли эта хорошая хэширующая функция для приложения с небольшим уровнем?

Благодарим за помощь.

ответ

2

Не создавайте собственное хеширование.

PHP версия 5.5 имеет некоторые very nice and easy to use password hashing functions, и есть библиотека, которая поддерживает их до PHP 5.3.

Включите его, используйте. Готово.

Скачать здесь https://github.com/ircmaxell/password_compat или включить с помощью Composer:

"require":{ 
    "ircmaxell/password-compat":"~1.0" 
} 
+0

Спасибо за ваш ответ. Я рассмотрю пароль_compact, так как я использую 5.4 – fmask

+0

, просто использовал пароль_compact и работает безупречно. – fmask