Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.08.26;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.044 c
2-1185985576
Ruffian
2007-08-01 20:26
2007.08.26
Генератор списков паролей


15-1185260598
boriskb
2007-07-24 11:03
2007.08.26
"Кысь"


1-1181811381
Dust
2007-06-14 12:56
2007.08.26
отладка Dll в D7


9-1158659677
Slavikkk
2006-09-19 13:54
2007.08.26
Автовыключение в ODE


11-1168409798
Don
2007-01-10 09:16
2007.08.26
Ошибка при уничтожении ProgressBar





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский