php55
Новичок
Приветствую всех комрады. В одном старом проекте потребовалось переделать алгоритм хеширования пассов на более надежный. Использовать буду crypt(), но тут у меня появился вопрос на который сам себе ответить не смог, наверное из за криворукости, так что попинайте малех че каво...
Имеем сей код:
Salt - 80614122asd45as54125
Result - $2a$07$80614122asd45as54125$ef556kOY0c9hzQXCBPo6WB2oygjGjv.C
В итоге крипт результит мне по сути 3 вещи в одной строке:
- Параметры для крипта ($2a$07$)
- Соль (80614122asd45as54125)
- Хеш ($ef556kOY0c9hzQXCBPo6WB2oygjGjv.C)
Но я очень не хочу чтобы ф-я мне возвращала все вместе, мне нужен тока хеш без солей и прочего, ибо результат крипта я же буду хранить в бд, а тогда теряется смысл соли локальной (константы) ибо она будет очевидна.
И как быть с этой траблой? Парсить ручками строку и тащить от туда сгенереный хеш - говнокод.
Попинайте меня чего я не так делаю, всем добра и плюсов в карму...
Имеем сей код:
Код:
$pass = '1234567'; // пасс
$salt_local = '122asd45as54125'; // локальная соль, хранится в скрипте в константе
$salt_rand = rand(10000,99999); // рандомная соль, хранится в бд, у каждого юзера своя
echo 'Salt - ' . $salt_rand . $salt_local .'\n';
echo 'Result - ' . crypt($pass, '$2a$07$' . $salt_rand . $salt_local . '$');
Result - $2a$07$80614122asd45as54125$ef556kOY0c9hzQXCBPo6WB2oygjGjv.C
В итоге крипт результит мне по сути 3 вещи в одной строке:
- Параметры для крипта ($2a$07$)
- Соль (80614122asd45as54125)
- Хеш ($ef556kOY0c9hzQXCBPo6WB2oygjGjv.C)
Но я очень не хочу чтобы ф-я мне возвращала все вместе, мне нужен тока хеш без солей и прочего, ибо результат крипта я же буду хранить в бд, а тогда теряется смысл соли локальной (константы) ибо она будет очевидна.
И как быть с этой траблой? Парсить ручками строку и тащить от туда сгенереный хеш - говнокод.
Попинайте меня чего я не так делаю, всем добра и плюсов в карму...