package org.ripple.power.password;
import java.util.Arrays;
public class PasswordCrackerBF {
private char[] charSet;
private char[] currentPass;
public void init(char[] charS, String from) {
charSet = charS;
currentPass = from.toCharArray();
}
public String toString() {
return String.valueOf(currentPass);
}
public String next() {
nextGuess();
return String.valueOf(currentPass);
}
public void nextGuess() {
int index = currentPass.length - 1;
for (; index >= 0;) {
if (currentPass[index] == charSet[charSet.length - 1]) {
if (index == 0) {
currentPass = new char[currentPass.length];
Arrays.fill(currentPass, charSet[0]);
break;
} else {
currentPass[index] = charSet[0];
index--;
}
} else {
int i;
for (i = 0; i < charSet.length; i++) {
if (currentPass[index] == charSet[i]) {
currentPass[index] = charSet[i + 1];
break;
}
}
break;
}
}
}
}