Перейти к содержанию
Авторизация  
Alonso

Генератор Пароля (new.pwn)

Рекомендуемые сообщения

Alonso
main() 
{ 
    printf("%s", GeneratePassword(30, 0)); // 30 - длина пароля, 0 - тип 
} 

/* 
1 тип - только цифры 
2 тип - только буквы (русский и английский алфавит) 
3 тип - буквы обоих алфавитов и цифры 

Символы можно менять, не забывайте переделывать размеры массивов 
*/ 

stock GeneratePassword(size, type) 
{ 
    new type2[119] = {"аАбБвВгГдДеЕёЁжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩъЪыЫьЬэЭюЮяЯаАbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ"}; 
    new type3[129] = {"0123456789аАбБвВгГдДеЕёЁжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩъЪыЫьЬэЭюЮяЯаАbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ"};
    new string[128], symbol[5]; 
    for(new i = size; i != -1; i--) 
    { 
        switch(type) 
        { 
            case 1: format(symbol, sizeof(symbol), "%c", random(10)); 
            case 2: format(symbol, sizeof(symbol), "%c", type2[random(sizeof(type2))]); 
            case 3: format(symbol, sizeof(symbol), "%c", type3[random(sizeof(type3))]); 
            default: format(string, sizeof(string), "NULL"); 
        } 
        strcat(string, symbol); 
    } 
    return string; 
}  

Автор: Вроде OkStyle ( а так неизвестно )

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Joseph_Eagles

БЫДЛО КОД

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
16Shadows

1) Выполнять switch-выражение при каждой итерации неоптимально. Значение переменной type не меняется между итерациями.

2) Отсутствует проверка значения переменной size, она может быть больше 128.

3) При type кроме 1, 2, 3 строка string будет форматироваться size раз в NULL.

4) В примере ошибка, тип 0 не предусмотрен. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.