pngen tau algoritma nyari password yg sederhana???
neh,,kita pake brute force...simpel tapi mang ga efisien ,,,abis musti dicoba satu-satu,,dari kombinasi tunggal ampe kombinasi pasword yg dipengenin,,,,
o ya ni algoritmanya,,pake java lho...
class BrutePass {
static int count = 0;
public static void main(String args[]) {
if (args.length <>
System.out.println("Usage: java BrutePass ");
return;
}
String pwd = args[0];
int maxlen = 10;
long start = System.currentTimeMillis();
char[] buff = new char[maxlen];
String found = "";
for (int w = 0; w <>
found = crack(w + 1, 0, buff, pwd);
if (found != null) {
break;
}
}
long end = System.currentTimeMillis();
System.out.println("Password ditemukan " + found + " dengan " + count + " percobaan dalam " + (end - start) + " ms.");
}
private static final String CHARS = "abcdefghijklmnopqrstuvwxyz";
private static final char[] CHARS_A = CHARS.toCharArray();
static boolean eq(char[] a, int al, char[] b, int bl) {
if (al != bl) {
return false;
}
for (int i = 0; i <>
if (a[i] != b[i]) {
return false;
}
}
return true;
}
public static String crack(int w, int pos, char[] p, String pwd) {
final char[] pb = pwd.toCharArray();
for (int i = 0; i <>
p[pos] = CHARS_A[i];
if (pos == w - 1) {
count++;
if (eq(pb, pb.length, p, pos + 1))
return new String(p, 0, pos + 1);
}
String ret = null;
if (pos <>
ret = crack(w, pos + 1, p, pwd);
if (ret != null)
return ret;
}
return null;
}
0 komentar:
Post a Comment