ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

перебор символов(DELPHI)
  #1  
Старый 05.04.2010, 20:26
qwerty001
Новичок
Регистрация: 05.04.2010
Сообщений: 7
Провел на форуме:
17240

Репутация: 0
По умолчанию перебор символов(DELPHI)

подскажите пожалуйсто как организовать перебор всех возможных вариантов символов?
например:
a
..
z
aa
ab
..
az
..
ba
bb
..
bz
..
zz
aaa
aab
...
zzz
....
zzzzzzz.........
 
Ответить с цитированием

  #2  
Старый 05.04.2010, 20:30
GhostOnline
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме:
828081

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

Всех вариантов - бесконечное количество (т.к. ты макс. длину не указал)
А как можно организовать бесконечное?
 
Ответить с цитированием

  #3  
Старый 05.04.2010, 20:46
fenixelite
Участник форума
Регистрация: 07.02.2010
Сообщений: 189
Провел на форуме:
870084

Репутация: 79
Отправить сообщение для fenixelite с помощью ICQ
По умолчанию

Допиши условие, тогда уже можно будет обсуждать как сделать!
 
Ответить с цитированием

  #4  
Старый 05.04.2010, 20:59
qwerty001
Новичок
Регистрация: 05.04.2010
Сообщений: 7
Провел на форуме:
17240

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

условие - подобрать пароль методом перебора символов. длину пароля не знаю. (: если не сложно подскажите как такое организовать.
 
Ответить с цитированием

  #5  
Старый 05.04.2010, 21:04
Jingo Bo
Познающий
Регистрация: 25.10.2009
Сообщений: 97
Провел на форуме:
604635

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

Кури перевод чисел из одной системы счисления в другую, в твоём случае основатель системы 26(число англ. букв), каждый разряд будет в диапазоне [0..25], перевести тебе надо будет из десятичной в то которую я указал. Потом получаное число прогоняем по всем разрярам и к разряду прибавляем 0x61 и поучлаем нужный символ, профит?
 
Ответить с цитированием

  #6  
Старый 05.04.2010, 21:13
qwerty001
Новичок
Регистрация: 05.04.2010
Сообщений: 7
Провел на форуме:
17240

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

не профит. я ничего не понял. =\
 
Ответить с цитированием

  #7  
Старый 05.04.2010, 21:15
qwerty001
Новичок
Регистрация: 05.04.2010
Сообщений: 7
Провел на форуме:
17240

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

а если ещё цифры вкючить и символы в перебор?
 
Ответить с цитированием

  #8  
Старый 05.04.2010, 21:19
Jingo Bo
Познающий
Регистрация: 25.10.2009
Сообщений: 97
Провел на форуме:
604635

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

Эх, щас напишу тада как это сделать
 
Ответить с цитированием

  #9  
Старый 05.04.2010, 21:25
JnK
Участник форума
Регистрация: 30.03.2007
Сообщений: 121
Провел на форуме:
188563

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

Цитата:
Сообщение от qwerty001  
условие - подобрать пароль методом перебора символов. длину пароля не знаю. (: если не сложно подскажите как такое организовать.
1. В бесконечном цикле пробегать по ASCII отвечающий за буквы, цифры.
Код:
myChar := Chr(66);                // Использование Char для конвертирования
Подробнее

2. Объявить в const базу пароля и по ней пробегать в цикле.

Вот пример как реализовывать через const:
PHP код:
const 
  
m='qwertyuioplkjhgfdsa'// база  
Var  
  
i,j:integer;  
  
s,str:string;  
begin  
  str
:='';  
  for 
j:=1 to 15 do  // кол-во символов*на базу
  
begin   
    
for i:=1 to length(m) do   
    
begin  
      s
:=str+m[i]; 
      
memo1.Lines.Add(s);    // что то делаем с генер, строкой
    
end;    
  
str:=s
  
end;
end
P.s. но лучше сделать 1 циклом, например в While (i=255) do.
 
Ответить с цитированием

  #10  
Старый 05.04.2010, 21:28
Jingo Bo
Познающий
Регистрация: 25.10.2009
Сообщений: 97
Провел на форуме:
604635

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

Код:
const ci_interval = 26; {â àãë. ñëîâàðå 26 áóêàô:)}
      ci_index = $61; { èíäåêñ ñèìâîë "à" â ascii}

function IntToSymbols(Const bound : Cardinal) : String;
Var i, curBound, c_mod : Cardinal;
    c_tmp : Char;
Begin
    Result := '';
    curBound := bound;
    while true do
    Begin
        if curBound < ci_interval then
        Begin
            Result := Result + Chr(ci_index + curBound);
            Break;
        end;
        c_mod := curBound mod ci_interval;
        curBound := curBound div ci_interval;
        Result := Result + Chr(ci_index + c_mod);
    end;
    {ïåðåâîðà÷èâàåì ñòðîêó}
    for i := 1 to Length(Result) div 2 do
    Begin
        c_tmp := Result[i];
        Result[i] := Result[Length(Result)-i+1];
        Result[Length(Result)-i+1] := c_tmp;
    end;
end;
Используем так :
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i : Integer;
begin
    for i := 0 to *сколько надо вариантов* do
     Memo1.Lines.Add(IntToSymbols(i));
end;
Будет выводить
a
b
c
..
z
aa
ab
ac
...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Буквенный перебор C++ fire64 С/С++, C#, Delphi, .NET, Asm 16 20.07.2009 15:57
распределённый перебор хешэй на perl ShAnKaR PHP, PERL, MySQL, JavaScript 2 18.10.2007 00:38
Посимвольный перебор в базах данных на примере MySQL LoFFi Чужие Статьи 5 30.04.2007 05:05
Распределённый перебор *Van* Расшифровка хешей 399 24.12.2005 18:14
Распределенный перебор. Ver.3 (прием участников и хэшей) censored! Расшифровка хешей 191 06.09.2005 10:41



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


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




ANTICHAT.XYZ