Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подбор пароля на n символов, Прошу просмотреть код на налицие изьянов 
:(
    Опции темы
Федор42
Дата 18.12.2016, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 18.12.2016

Репутация: нет
Всего: нет



Доброе время суток. Уважаемые пользователи. Идея следующая: код подбирает пароль прямым перебором из алфавита. Вводим - подбираем - выводим (вводимое, время и кол-во опробованных паролей)
Прошу вас помочь: указать где могут быть косяки (переполнения данных, ...), помочь ускорить проверку (оптимизировать) или совет, что можно выкинуть.
Кодю первый раз, прошу не смеяться =)

Код

package com.company;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) throws IOException {
        char abc[] = new char[]{'0','1','2','3','4','5','6','7','8','9',
                'q','w','e','r','t','y','u','i','o','p','a','s','d','f','g',
                'h','j','k','l','z','x','c','v','b','n','m',
                'Q','W','E','R','T','Y','U','I','O','P','A','S','D','F','G',
                'H','J','K','L','Z','X','C','V','B','N','M',
                'ё','й','ц','у','к','е','н','г','ш','щ','з','х','ъ','ф','ы','в','а','п',
                'р','о','л','д','ж','э','я','ч','с','м','и','т','ь','б','ю',
                'Ё','Й','Ц','У','К','Е','Н','Г','Ш','Щ','З','Х','Ъ','Ф','Ы','В','А','П',
                'Р', 'О','Л','Д','Ж','Э','Я','Ч','С','М','И','Т','Ь','Б','Ю'};
int m = 0;
        int n = 0;
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("Введите пароль: ");
        String p1 = reader.readLine();
        String p2 = "";
        long lBegin = System.currentTimeMillis();
        outer1:while (true){
           int size;
            m = m + 1;
            size = m;
            int arr[] = new int[size];
            outer:while (true) {
                for (int ndx : arr) {
                    p2 = p2 + String.valueOf(abc[ndx]);
                }
                n = ++n;
                if (p1.equals(p2)) {
                    long lEnd = System.currentTimeMillis();
                    System.out.println("Искомый пароль: "+p1);
                    long lDelta = lEnd - lBegin;
                    System.out.println("Паролей подобранно: "+n);
                    System.out.println("Время выполнения: "+lDelta+" mc");
                    break outer1;
                }
                p2 = "";
                int i = size - 1;
                while (arr[i] == abc.length - 1) {
                    arr[i] = 0;
                    i--;
                    if (i < 0) {
                        break outer;
                    }
                }
                arr[i]++;
            }
        }
    }
}


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1159 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.