Как мне сгенерировать случайный буквенно-цифровой начальный пароль для новых пользователей? - PullRequest
5 голосов
/ 29 апреля 2009

Мы должны автоматически импортировать большой список пользователей с некоторыми данными в работающую систему. Для получения начального пароля я хочу обновить список (формат csv на данный момент) случайным буквенно-цифровым ключом (8 цифр).

При вставке с помощью специальной подпрограммы (для которой нужен файл csv) пароль (в данном случае буквенно-цифровой ключ) сохраняется как хэш md5.

т.е. Я генерирую случайный буквенно-цифровой ключ:

H2A5D39A -> MD5: 1642fccf791f15d137cf31282af79752

Таким образом, я хочу создать список, в котором аутентифицированные пользователи могут запрашивать у меня свой первоначальный пароль (буквенно-цифровой ключ).

У вас есть идея для "секретного" начального пароля?

Как бы вы создали буквенно-цифровой ключ в Perl?

P.S .: "Запущенная система", не запрограммированная нами, просто позволяет вводить буквенно-цифровые пароли (без специальных символов, ...)

Ответы [ 5 ]

15 голосов
/ 29 апреля 2009

Как бы вы создали буквенно-цифровой ключ в Perl?

join '', map + (0..9, 'a' .. 'z', 'A' .. 'Z') [rand (10 + 26 * 2)], 1..8

6 голосов
/ 29 апреля 2009

Я бы, наверное, использовал pwgen. Это замечательно, так как позволяет легко настраивать и имеет возможность не использовать неоднозначные символы (подумайте: I, l, 1, O, 0).

например:

=> pwgen -c -n -B 8 50
shuFak9o peiCh3Oo ohPieng9 Vohh7zuu os3Theep aeV9nuo9 aexeik4B aeChoh9s
uth3eePu baePhu3o aiS3pahn iPie4itu We9zuphi xie3Chi3 yeiRoo7c fai3ITai
aCh9ohco Echuab7v Fu9ahCho Aevae4no Peethai9 AiJio3Pa aeNge9Fo baePh7Uy
Nai7shei eeMoh9en Zeibai4n eGe7yuch Jaek7nai aeZah7sh Chei4ua4 shoo9oG9
iu7Wohho aep7De4U Fong9fo3 AhneeP7U oxae7Yoh ahF4eim3 fahm9Aiw naoNg4ie
Chie4xua jix3Uvot aChei7ai diey4Shi Yur7ee4j eeJeo9ee Bou3ahmu kaeb4Cah
Eh4Eemae oD4phoo9
1 голос
/ 29 апреля 2009

Еще один модуль, который стоит рассмотреть: Данные :: Случайные

1 голос
/ 29 апреля 2009

Анонимный ответ очень хорош, но, если вам нужна случайная строка, соответствующая некоторым правилам (например, по крайней мере, один верхний регистр, одна строчная буква и одно число), вы можете посмотреть String :: Random .

0 голосов
/ 08 августа 2011

Я только что завершил обзор 12 модулей на CPAN, которые можно использовать для генерации случайных паролей:

http://blogs.perl.org/users/neilb/2011/08/random-password-generation.html

Короче говоря: если вы хотите произносимый пароль, посмотрите на Crypt :: YAPassGen , в противном случае перейдите на App :: Genpass .

App :: Genpass позволяет избежать сбивающих с толку символов и дает вам лучший контроль (и значения по умолчанию), чем Data :: Random или String :: Random

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