ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 19.07.2009, 10:45
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

Код:
unsigned char x ;
unsigned char start_char = 'A';
unsigned char stop_char = 'Z';

// A-z
// ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz

// 0-z 
// 0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz

// ' ' - 'z'
//  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz

//  Как что просто указал начало и конец и у тебя есть нужный диапазон

for (x = start_char; x <= stop_char; x++)
{
 printf("%c", x);
}

Последний раз редактировалось slesh; 19.07.2009 в 10:49..
 
Ответить с цитированием

  #12  
Старый 19.07.2009, 16:19
fire64
Участник форума
Регистрация: 01.04.2008
Сообщений: 200
С нами: 9531722

Репутация: 39
По умолчанию

Я написал вот такой индусский код

PHP код:
char dic [] = 
{
    
'a'
    
'b'
    
'c'
    
'd'
    
'e'
    
'f'
    
'g'
    
'h'
    
'j'
    
'k'
    
'l'
    
'm'
    
'n'
    
'o'
    
'p'
    
'r'
    
'q'
    
'u'
    
's'
    
't'
    
'v'
    
'w'
    
'x'
    
'y'
    
'z'
};



    
int numberchar 5;

    
char pchar[2] = "";
    
char vchar[2] = "";
    
char tchar[2] = "";
    
char chchar[2] = "";
    
char pychar[2] = "";
    
char shestchar[2] = "";
    
char final[8] = "";


    for( 
int a 026a++ )
    {

        
sprintf(pchar"%c"dic[a] );

        if( 
numberchar == )
        {
            
sprintf( final, "%s"pchar );

                
chekdomain( final );

                continue;
        }


        for( 
int b 026b++ )
        {
            
sprintf(vchar"%c"dic[b] );

            if( 
numberchar == )
            {
                
sprintf( final, "%s%s"pcharvchar );

                
chekdomain( final );

                continue;
            }

            for( 
int c 026c++ )
            {
                
sprintf(tchar"%c"dic[c] );


                if( 
numberchar == )
                {
                    
sprintf( final, "%s%s%s"pcharvchartchar );

                    
chekdomain( final );

                    continue;
                }


                for( 
int d 026d++ )
                {
                    
sprintf(chchar"%c"dic[d] );

                    if( 
numberchar == )
                    {
                        
sprintf( final, "%s%s%s%s"pcharvchartcharchchar );

                        
chekdomain( final );

                        continue;
                    }


                    for( 
int e 026e++ )
                    {
                        
sprintf(pychar"%c"dic[e] );

                        if( 
numberchar == )
                        {
                            
sprintf( final, "%s%s%s%s%s"pcharvchartcharchcharpychar );

                            
chekdomain( final );

                            continue;
                        }


                        for( 
int f 025f++ )
                        {
                            
sprintf(shestchar"%c"dic[e] );

                            if( 
numberchar == )
                            {
                                
sprintf( final, "%s%s%s%s%s%s"pcharvchartcharchcharpycharshestchar );

                                
chekdomain( final );

                                continue;
                            }

                        }

                    }

                }

            }

        }

    } 
 
Ответить с цитированием

  #13  
Старый 19.07.2009, 20:05
\\ChaOs//
Познающий
Регистрация: 26.02.2009
Сообщений: 65
С нами: 9054681

Репутация: 34
По умолчанию

Какие у вас у всех(почти у всех) трудные методы.
вот мое:
Код:
 int i=65,n=90;
 while(i!=n)
 {
	 std::cout<<char(i)<<std::endl;
 i++;
 }
Полный перебор со спец. символами:
Код:
 
 for(int i=32,n=126;i!=n;i++)
 {
	 std::cout<<char(i)<<std::endl;
 i++;
 }

Последний раз редактировалось \\ChaOs//; 19.07.2009 в 20:23..
 
Ответить с цитированием

  #14  
Старый 19.07.2009, 20:54
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами: 10386906

Репутация: 599


По умолчанию

fire64
ппц =)

\\ChaOs//
это вывод одного символа. теперь скомпонуй код, который будет выдавать все варианты паролей длиной 6 символов. тока не как у fire64 чтоб код получился =))
 
Ответить с цитированием

  #15  
Старый 19.07.2009, 21:16
fire64
Участник форума
Регистрация: 01.04.2008
Сообщений: 200
С нами: 9531722

Репутация: 39
По умолчанию

Ra$cal, согласен код кошмарный
но он работает, а это главное
 
Ответить с цитированием

  #16  
Старый 19.07.2009, 21:44
bons
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
С нами: 9679872

Репутация: 347
По умолчанию

на С. Проверки неправильно переданных параметров в функции нет, конечно следовало бы понаставить assert'ов но мне влом.
Код:
#include <stdio.h>
#include <string.h>

const unsigned char n_begin = 'a';
const unsigned char n_end = 'z';
const size_t str_len = 3;

int next_element(unsigned char *str, size_t strlen) {
	size_t index = strlen - 1;
	int cond = 0;
	while(!cond) {
		cond = 1;
		if(++str[index] > n_end) {
			if (index == 0) {
				return 0;
			}
			str[index--] = n_begin;
			cond = 0;
		}
	}
	return 1;
}

int main(int argc, char** argv) {
	unsigned char str[str_len + 1];
	memset(str, n_begin, str_len);
	str[str_len] = 0;
	do {
		printf("%s\n", str);
	} while(next_element(str, str_len));
	return 0;
}

Последний раз редактировалось bons; 19.07.2009 в 22:02..
 
Ответить с цитированием

  #17  
Старый 20.07.2009, 15:57
fker
Участник форума
Регистрация: 26.11.2008
Сообщений: 158
С нами: 9187097

Репутация: 158
По умолчанию

мой вариантик, медленно правдо генерерует слова(например 10и символьные), но работает и можно подставлять любые символы.

Код:
  #include<stdio.h>
  #include<conio.h>
  #include<stdlib.h>
  int M,N;
  void main(){
  clrscr();
  int next(int *);
  char abc[]={'a','b','c','d','e','#',')','_','@'};
  //char abc[]={'a','b','c'};
  int i;
  int *arr;
  M=sizeof(abc);
  printf("DJIuHHa CJIoBa -> ");
  scanf("%d", &N);
  arr=(int *) calloc(N, sizeof(int));
  for(i=1; i<=N; i++)
     arr[i]=1;
  do{
     for(i=1; i<=N; i++)
        printf("%c", abc[arr[i]-1]);
     printf("\n");
  }
  while(next(arr)!=0);
  getch();
 }

int next(int arr[])
{
 int j=N;
 while(j>0 && arr[j]==M)
    arr[j--]=1;
 if(j>0){
    arr[j]++;
    return 1;
    }
 else return 0;
 }

Последний раз редактировалось fker; 20.07.2009 в 20:06..
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
распределённый перебор хешэй на perl ShAnKaR PHP 2 18.10.2007 00:38
Распределённый перебор *Van* Криптография, расшифровка хешей 399 24.12.2005 18:14
распределённый перебор nifus Болталка 8 15.11.2005 22:34
Распределенный перебор. Ver.3 (прием участников и хэшей) censored! Криптография, расшифровка хешей 191 06.09.2005 10:41



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.