Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.26;
Скачать: CL | DM;

Вниз

Генератор списков паролей   Найти похожие ветки 

 
Ruffian   (2007-08-01 20:26) [0]

Здравствуйте уважаемые программисты..
Проблема собственно вот в чём:
Пишу программу для генерации списков паролей, алгаритм такой
с каждым символом подставляется каждый итд..
тоесть для трёх-символьной генерации использую следушее:

begin
xyz:=TstringList.create; //xyz типа TStrings
for a:=1 to 161 do        //Цифра 161 взята из максимального количества                        //символов в русской и английской раскладках
begin
for b:=1 to 161 do
begin
for c:=1 to 161 do
xyz.Add(mas[a]+mas[b]+mas[c]);//собственно в mas[1]-mas[161]хранятся //все символы
end;
end;

If  OpenTextFileDialog1.Execute then                   //
xyz.SaveToFile(OpenTextFileDialog1.FileName);     //сохранение
xyz.free;                                                        //
end;


С 3-значной длиной всё в порядке, генерация происходит за несколько секунд и успешно сейвится, а вот с 4-значной наступает проблема - поскольку объём строк очень большой, происходит переполнение стека..
Есть идея сделать поэтапное сохранение после каждого прохода (тоесть на каждой 1/161)..
Прошу высказат ьваш взгляд на вышеизложенное.
(Прошу прощенье если где-то напутал)
Заранее спасибо!


 
DrPass ©   (2007-08-01 20:39) [1]

Вместо этого
> xyz:=TstringList.create;

> xyz.Add(mas[a]+mas[b]+mas[c]);

> xyz.SaveToFile(OpenTextFileDialog1.FileName);     //сохранение
> xyz.free;

сделай просто добавление строки в файл на каждой итерации цикла. Будет намного быстрее и при этом с ничтожным потреблением памяти


 
Anatoly Podgoretsky ©   (2007-08-01 21:09) [2]

А у тебя диска то хватит - это 3 611 577 970 071 152 648 байт для паролей из 8 символов


 
Ruffian   (2007-08-01 21:14) [3]


> сделай просто добавление строки в файл на каждой итерации
> цикла. Будет намного быстрее и при этом с ничтожным потреблением
> памяти

Сори, не понял, куда добавлять сроку? (вернее как, с помощью чего лучше общаться с файлами?)
> А у тебя диска то хватит - это 3 611 577 970 071 152 648
> байт для паролей из 8 символов

Поэтому и нужен генератор 8), будет генерить по частям..


 
DrPass ©   (2007-08-01 22:27) [4]


> (вернее как, с помощью чего лучше общаться с файлами?)

assignfile, rewrite, writeln, closefile

> Поэтому и нужен генератор 8), будет генерить по частям..

А смысл? Можно подумать, существует компутер, способный обработать все варианты паролей из 8 символов, хоть по частям, хоть сразу.



Страницы: 1 вся ветка

Текущий архив: 2007.08.26;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.047 c
15-1185830927
uses1
2007-07-31 01:28
2007.08.26
Как упаковать массив чисел не кратных двойке?


15-1185816208
TStas
2007-07-30 21:23
2007.08.26
Как правильно отдыхать?


9-1155485737
Kav
2006-08-13 20:15
2007.08.26
ODE составная геометрия


15-1185572042
UnknownMan
2007-07-28 01:34
2007.08.26
Компилятор Delphi 3


2-1186145125
Янкер
2007-08-03 16:45
2007.08.26
Как програмно переключить IE в Автономный режим и обратно





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский