Когда используется функция BCRYPT PHP, она выдает **, конечно, как и ожидалось. Однако он также добавляет нежелательные символы, такие как «.» (DOTS) при хешировании, что опять-таки следовало ожидать.
Я хотел бы знать, есть ли хеш-функция, которую я могу использовать в PHP, которая не создает хеш с точками в нем, или я могу каким-то образом сказать хеш-функции не создавать хеш с точками.
Я использую это создать уникальный хэш ключа ссылки.
$passHash = password_hash($email, PASSWORD_BCRYPT);
Дай мне знать.
Заранее спасибо.
Видя, что это для целей проверки, достаточно использовать следующее:
$code=substr(md5(mt_rand()),0,15);
password_hash()
Функция действительно создает уникальную строку, но она просто не была разработана для целей проверки, как вы делаете сейчас.
Есть также этот метод, который я использую время от времени:
$token = substr(hash('sha512', mt_rand() . microtime()), 0, 50);
который создаст еще более длинный и точный токен при использовании microtime()
.
Отказ от ответственности: Это для генерации случайных токенов и не связано с хешированием пароля.
Других решений пока нет …