Страница 1 из 1
Генерация пин кодов
Добавлено: 2010-07-16 16:20:41
mlevel
Нужно сгенерировать уникальние пин коди, использую
apg:
Но иногда первым символом(цифрой) генерируется
0, как можно отфильтровать такие пин коди?
Re: Генерация пин кодов
Добавлено: 2010-07-16 17:51:46
gloom
Re: Генерация пин кодов
Добавлено: 2010-07-17 13:15:41
mlevel
Но ето в Perl скрипте.
Re: Генерация пин кодов
Добавлено: 2010-07-17 13:47:05
rmn
mlevel писал(а):Но ето в Perl скрипте.
а перл-скрипт такое не прожует?..
Код: Выделить всё
/usr/local/bin/apg -a1 -MN -m5 -x5 -n1 | grep -v ^0
Re: Генерация пин кодов
Добавлено: 2010-07-17 16:17:18
mlevel
Прожует, но если первая цифра 0, то:
Код: Выделить всё
$code = system(/usr/local/bin/apg -a1 -MN -m5 -x5 -n1 | grep -v ^0);
выведет пустую строку....
Re: Генерация пин кодов
Добавлено: 2010-07-17 17:47:34
gloom
Код: Выделить всё
$code = system(/usr/local/bin/apg -a1 -MN -m5 -x5 -n1 | grep -vE "^0");
ось какая?
grep в бсд системах свой и он немного отличается от gnu grep который используется в лине
Re: Генерация пин кодов
Добавлено: 2010-07-17 19:06:23
mlevel
FreeBSD. Но я не о том. Создавая нового пользователя, эму генерится ОДИН пин код этим скриптом, и если как раз они начинаеться с нуля,то выходит пустая строка, как при пустой строки опять сгенерить пин код? Думал сам apg поддерживает паттерны...
Re: Генерация пин кодов
Добавлено: 2010-07-18 6:45:15
gloom
сделайте проверку переменной и повторный вызов
Re: Генерация пин кодов
Добавлено: 2010-07-18 15:00:57
mlevel
Ломаю голову... Цикл надо.
Re: Генерация пин кодов
Добавлено: 2010-07-19 5:25:13
Burner
да вообще 0 исключите
Re: Генерация пин кодов
Добавлено: 2010-07-19 7:35:55
FiL
mlevel писал(а):FreeBSD. Но я не о том. Создавая нового пользователя, эму генерится ОДИН пин код этим скриптом, и если как раз они начинаеться с нуля,то выходит пустая строка, как при пустой строки опять сгенерить пин код? Думал сам apg поддерживает паттерны...
генери 20 пинов, исключай те, что начинаются с нуля и бери первый. Вероятность, что все 20 будут с нуля начинаться мала.

Re: Генерация пин кодов
Добавлено: 2010-07-19 11:16:48
mlevel
Хорошая идея..

Re: Генерация пин кодов
Добавлено: 2010-07-19 18:18:48
thefree
ужас, делайте через цыкал, не слушайте глупостей.
Re: Генерация пин кодов
Добавлено: 2010-07-26 11:46:47
schizoid
или проверку переменной, если пустая - сгенерить снова...
Re: Генерация пин кодов
Добавлено: 2010-07-26 12:15:58
Burner
schizoid писал(а):или проверку переменной, если пустая - сгенерить снова...
а это не цикл?
Re: Генерация пин кодов
Добавлено: 2010-07-26 17:45:52
mlevel
Код: Выделить всё
#!/usr/bin/perl
use strict;
my ($code, $new);
for (my $i = 1; $i <= 10; $i++) {
$code = `/usr/local/bin/apg -a1 -MN -m5 -x5 -n1`;
if(substr($code,0,1) ne 0) {
$new = $code;
last;
}
}
print $new;