Django: используйте хеш / guid в имени пользователя - PullRequest
1 голос
/ 18 декабря 2009

Я собираюсь использовать электронную почту в качестве имени пользователя на веб-сайте, однако мне все равно нужно как-то предварительно заполнить поле обязательного имени пользователя в модели User.

Изначально я думал об использовании хеша md5 для электронной почты в качестве имени пользователя, но, учитывая ограничение в 30 символов, это невозможно. Также я не думаю, что могу использовать GUID для этого, так как они также длиннее 30 символов при преобразовании в шестнадцатеричный формат строки.

Любые предложения с благодарностью!

Ответы [ 2 ]

3 голосов
/ 18 декабря 2009

Я бы не стал особо подчеркивать, что GUID длиннее 30 символов. Разумным подходом, вероятно, является хеширование GUID с использованием чего-то вроде MD5, а затем обрезка последних 2 символов. Ваши шансы на столкновение практически равны нулю. (16 30 - очень большое число).

1 голос
/ 10 октября 2010

Эти ссылки длина строки GUID и Символы в GUID показывают, что длина guid действительно всего 16 символов. Это эквивалент ASCII, который длиннее. Таким образом, до тех пор, пока вы конвертируете туда и обратно перед отображением (или если вы вообще не собираетесь их отображать), GUID хорошо вписывается в поле имени пользователя.

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