Anonymní profil John – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil John – Programujte.comAnonymní profil John – Programujte.com

 

Příspěvky odeslané z IP adresy 147.32.114.–

John
Python › Problém s Pythonem-testování…
8. 12. 2014   #197029

Dobrý den, potřebuji pomoci s pár problémy.Nemám takové zkušenosti s pythonem a rád bych se nečěmu novému přiučil :) Pracuji nyní na tvorbě SpamFiltru podle zadání mého kamaráda, který studuje na ČVUT, tak jsem si řekl, že bych to mohl také zkusit :) dělá mi problém unittesting..nevím kde o spustit nebo jak a co s tím dělat :D nenašel by se tu někdo hodný, který by mi to "selsky" vysvětlil? :D díky moc , s pozdravem Johnny :)

John
Java › Prolomení hesla=zdhlouhavé!
30. 11. 2014   #196747

#2 ingiraxo
public class Test {
    
    public void start() {
        String password = "abcda";
        BruteForceAttacker attacker = new BruteForceAttacker();
        attacker.init(new char[]{'a', 'b', 'c', 'd'}, password);
        
        System.out.println("Trying to break password...");
        attacker.breakPassword(password.length());
        
        if (attacker.isOpened()) {
            System.out.println("[VAULT] opened, password is " + password);
        } else {
            System.out.println("[VAULT] is still closed");
        }
    }
}

tu máme ještě testovací sadu...

John
Java › Prolomení hesla=zdhlouhavé!
30. 11. 2014   #196743

Dobrý den, chtěl bych se moc zeptat zda by mi někdo neporadil, jak zrychlit tento kod.Jedná se o prolomení hesla, ve kterém při metodě( BruteForceAttacker) útočník zkouší postupně všechny možné kombinace znaků, dokud neuhodne heslo. Jelikož zkouší některá hesla vícekrát,  proto je pomalý.Prosím neví někdo jak ho zrychlit? Pomoc spěchá!!

import java.util.ArrayList;
import java.util.List;

public class BruteForceAttacker extends Thief {

    public static List<String> getPermutace(String input) {

        List<String> soubor = null;

        if (input.length() == 1) {
            soubor = new ArrayList<String>();
            soubor.add(input);
            return soubor;
        } else {
            soubor = getPermutace(input.substring(1));
            Character prvni = input.charAt(0);
            List<String> result = new ArrayList<String>();
            for (String str : soubor) {
                for (int i = 0; i < str.length(); i++) {
                    String item = str.substring(0, i) + prvni
                            + str.substring(i);
                    result.add(item);
                }
                String item = str.concat(prvni.toString());
                result.add(item);
            }
            return result;
        }

    }

    @Override
    public void breakPassword(int sizeOfPassword) {
        StringBuilder sb2 = new StringBuilder();
        for (int i = 1; i < sizeOfPassword; i++) {
            sb2.append(this.getCharacters());
        }
        for (String pw : getPermutace(sb2.toString())) {
            this.tryOpen(pw.substring(0, sizeOfPassword).toCharArray());
            if (this.isOpened()) {
                return;
            }
        }
    }

}

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý