[P&AM Lab] Переделанный генератор паролей
Егор Одинцов
rg-400 на list.ru
Ср Фев 23 21:01:40 MSK 2011
Можно выкинут специальные символы.
Для пароля хватит a-z,A-Z,0-9 или добавить опцию, за которой будут идти
дополнительные символы, которые могут присутствовать в пароле.
Если только a-z,A-Z,0-9, можно заполнить его вручную.
И исключение чисел из набора будет изменение переменной, в которой будем
хранить длину массива, а исключение букв изменения указателя на первый
элемент и его длину.
пример
int len;
char *sl;
len = sizeof(symbol_list) / sizeof(symbol_list[0]);
if (pw_opt & NO_NUM)
len -= 10;
sl = symbol_list;
if (pw_opt & NO_ABC) {
sl +=26 * 2;
len -=26 * 2;
}
Еще добавить для uppercase и lowercase
Если использовать доп. символы, то тут уже нужен динамический массив.
Здесь проблема, как сделать пароль удобным для запоминания человеком.
Буквы будут ,кстати, чаще встречаться, чем цифры, т.к. их больше.
Подробная информация о списке рассылки Lab