Главная страница
    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.46 MB
Время: 0.043 c
15-1185444219
Иксик
2007-07-26 14:03
2007.08.26
Клиент для VSS


3-1178435782
~MaGic~
2007-05-06 11:16
2007.08.26
Добавление записей в таблицу


15-1185953714
TStas
2007-08-01 11:35
2007.08.26
Как пишется диск?


1-1181834100
DevilDevil
2007-06-14 19:15
2007.08.26
Один пункт меню в нескольких меню. Как ?


2-1186288632
zxs
2007-08-05 08:37
2007.08.26
подксажите в чем ошибка





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