hash — PHP-хэширование с использованием BCRYPT добавляет нежелательный символ

Когда используется функция BCRYPT PHP, она выдает **, конечно, как и ожидалось. Однако он также добавляет нежелательные символы, такие как «.» (DOTS) при хешировании, что опять-таки следовало ожидать.

Я хотел бы знать, есть ли хеш-функция, которую я могу использовать в PHP, которая не создает хеш с точками в нем, или я могу каким-то образом сказать хеш-функции не создавать хеш с точками.

Я использую это создать уникальный хэш ключа ссылки.

$passHash = password_hash($email, PASSWORD_BCRYPT);

Дай мне знать.

Заранее спасибо.

1

Решение

Видя, что это для целей проверки, достаточно использовать следующее:

$code=substr(md5(mt_rand()),0,15);

password_hash() Функция действительно создает уникальную строку, но она просто не была разработана для целей проверки, как вы делаете сейчас.

Есть также этот метод, который я использую время от времени:

$token = substr(hash('sha512', mt_rand() . microtime()), 0, 50);

который создаст еще более длинный и точный токен при использовании microtime().

Отказ от ответственности: Это для генерации случайных токенов и не связано с хешированием пароля.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector