Генерация буквенно-цифрового кода из числа в php - PullRequest
0 голосов
/ 18 мая 2011

Я хочу присвоить 5-буквенный буквенно-цифровой код всем пользователям, которые у меня есть в моей базе данных, в настоящий момент единственный способ идентифицировать моего пользователя - это его имя пользователя или поле идентификатора в базе данных MySQL.Я хочу использовать идентификатор пользователя, а затем сгенерировать код из 5 букв / цифр, например:

ID USERNAME   CODE
1  Honf       sdew4
2  Djsoft     hgdTs
3  Hanz       HGSTs

Есть предложения, как сделать это на php?Спасибо!

Ответы [ 4 ]

3 голосов
/ 18 мая 2011

Вы можете сделать это с помощью base_convert , если вы хотите, чтобы код относился к определенному идентификатору (при этом будут использоваться только строчные буквы и цифры):

$id = 12;
$code = base_convert($id, 10, 36);
//padding to specified length
$code = str_pad($code, 5, '0', STR_PAD_LEFT);
2 голосов
/ 18 мая 2011

rand_uniqid () функция php может помочь вам .....

rand_uniqid(9007199254740989); will return 'PpQXn7COf' and:
rand_uniqid('PpQXn7COf', true); will return '9007199254740989'
2 голосов
/ 18 мая 2011

Вы можете использовать алгоритм хеширования, такой что

substr(strrev(md5($username)),0,5)

Это вернет шестнадцатеричные символы.Но учтите, что если вы используете AZ, az, 0-9 для своего хеш-домена, если у вас много пользователей, могут возникнуть коллизии, и эти хеши «могут быть» не уникальными.

2 голосов
/ 18 мая 2011

Проверьте принятый ответ на этот вопрос . Это может вам помочь.

Я проверил это с 10 числами lac.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...