Исключить определенные символы, сгенерированные crypt () - PullRequest
0 голосов
/ 02 сентября 2011

Я использую crypt () в PHP для генерации уникальной строки токена.Моя проблема в том, что некоторые сгенерированные токены включают точки (.) В конце токена, и это сбивает с толку пользователей, которым нужно скопировать и вставить его в другое место ... некоторые видят в нем конец предложения, а не частьтокен.

Если я не ошибаюсь, я не могу просто заменить периоды после запуска crypt (), потому что он больше не будет уникальным идентификатором.

Есть ли способ ограничитьсимволы, которые выводятся функцией crypt ()?

Ответы [ 3 ]

1 голос
/ 02 сентября 2011

ты думал о Ша-1 вместо Склепа? будет выглядеть примерно так, чтобы сгенерировать небольшой токен.

$str = time().$token;
$result = substr(sha1($str),10)

иначе вы можете использовать это, если вам нужно RLLY.

$result = preg_replace('/\./','{DOT}',crypt('mypassword'));

и получить ваши начальные

str_replace('{DOT}','.',$result)
1 голос
/ 02 сентября 2011

Если это просто случайная строка, используйте генератор случайных букв или посмотрите на uniqid .

0 голосов
/ 02 сентября 2011

В зависимости от конечного использования токена, вы можете добавить разделители к началу и концу токена, чтобы пользователю было более очевидно, где находятся начальная и конечная точки.

...