Sign in to follow this  
Followers 0
Guest stibs

Генератор паролей

4 posts in this topic

Всем привет! Выкладываю функцию генератора паролей. Можно добавить при регистрации аккаунта. 

В конец мода: 
 

Спойлер

GeneratePassword(size, type)
{
    new string[128];
    if(type < 1 || type > 3)
    {
        string = "NULL";
        return string;
    }
    
    static const type_str[] =
    {48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,
    81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,
    111,112,113,114,115,116,117,118,119,120,121,122,192,193,194,195,196,197,198,199,200,
    201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,
    222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,
    243,244,245,246,247,248,249,250,251,252,253,254,255};
    
    for(new i; i < size; i++)
    {
        switch(type)
        {
            case 1: string[i] = type_str[random(10)];
            case 2: string[i] = type_str[random(sizeof(type_str)-10)+10];
            case 3: string[i] = type_str[random(sizeof(type_str))];
        }
    }
    return string;
}  

 

Как использовать?

Вы в первом аргументе пишите длину генерируемого ключа (пароля). Во втором аргументе пишите тип генерируемого ключа (пароля). 

Типы: 

1 - генерирует только цифры

2 - только буквы (русские и английские)

3 - 2 тип и 1 вместе взятые

Пример использования: 

main ()
{
	printf("Сгенерированный пароль: %s", GeneratePassword(10, 1)); // сгенерирует пароль длинной в 10 цифрами
}

Автор генерации паролей: Anon

Share this post


Link to post
Share on other sites

Ты там использовал только цифры,значит надо было использовать %i или %d

 


main ()
{
	printf("Сгенерированный пароль: %i", GeneratePassword(10, 1)); // сгенерирует пароль длинной в 10 цифрами
}

Но всё же спасибо за урок. Полезно

Edited by Hennesy21829

Заметка от Shakoladka , создано

Не обязательно делать текст "Жирным"

Share this post


Link to post
Share on other sites

@Hennesy21829, а с чего вы взяли, что используются числа? Там прописаны коды символов, которые помещаются в ячейки. Если отобразите через %s весь массив, увидите строку с паролем. Если отобразите каждый символ с %d или %i, то увидите код символа конкретной ячейки.

Share this post


Link to post
Share on other sites
#define SIZE_PASS   10

stock RandomPass(size = SIZE_PASS)
{
	new
		string[SIZE_PASS+1],
		i;
	while (i < SIZE_PASS)
		string[++i] = random(2) ? random(26)+97 : random(10)+48;
	return string;
}

main()
{
	printf("%s", RandomPass()); //2q4n8ni158
}

 

Edited by m1n1vv

Share this post


Link to post
Share on other sites

Your content will need to be approved by a moderator

Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   You have pasted content with formatting.   Remove formatting

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

Loading...
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content