После нескольких дней исследований хэширования, генерации случайных чисел или уникальных ключей я немного запутался.
У меня есть еще одна вещь, которую я хочу понять, это ключ пользователя. Я хочу сохранить уникальный ключ для каждого участника / пользователя, который регистрируется на моем сайте. Так что этот ключ должен быть уникальным и не дублировать. Я думаю использовать электронную почту пользователя и хешировать ее с указанием времени или чего-то еще ...
Тогда мне интересно, какой лучший способ создать такой ключ -
Могу ли я использовать hash_hmac () , чтобы сделать это для меня?
У меня есть пара вещей, которые не понимают о hash_hmac () , хотя - как в этом примере с php.net hash_hmac('ripemd160', 'The quick brown fox jumped over the lazy dog.', 'secret');
Так в чем же «секрет» - могу ли я вместо этого поставить что-то другое, например, дату?
Я предполагаю, что смогу заменить «Быстрая коричневая лиса перепрыгнула через ленивую собаку». с адресом электронной почты?
или, может быть, я могу использовать Portable PHP хэширование паролей для этого?
единственное, что он выдает .
, $
и /
, которые мне нужны, чтобы удалить их, иначе я получу ошибки при запросе ключа из URL.
так что я мог бы сделать это -
$hash = $phpass -> HashPassword('me@example.com'.$timedate)
$key = preg_replace("/[^a-zA-Z0-9]+/", "", $hash);
Пожалуйста, дайте мне знать, если у вас есть предложения получше.