用Java重置密码程序

时间:2014-03-30 14:46:23

标签: java passwords

您好我在SecretKeeper类中创建了一个resetPassword方法。它必须创建一个长度为= numLetters的随机密码,如果为true,密码必须有四个布尔值。如何编写resetPassword方法?谢谢! 这就是我所拥有的:

public class SecretKeeper
{
private int     secretNumber;
private char    secretLetter;
private String  secretWord;
private String  password;

public SecretKeeper(){
    secretNumber = 131313;
    secretLetter = '@';
    secretWord = "c@T";
}

public boolean guessNumber(int guess){
    return guess == secretNumber;
}

public boolean guessLetter(int guess){
    return guess == secretLetter;
}

public boolean guessWord(String word){
    return word.equals(secretWord);
}

public void resetPassword(int numLetters, boolean hasLowerCase, boolean hasUpperCase, boolean hasSpecial, boolean hasNumbers){
     password = "";
     Random rnd = new Random();



}

}

1 个答案:

答案 0 :(得分:0)

使用已知的哈希算法(例如sha512)在随机数上生成哈希字符串,然后根据过滤器获取第一个字母。

EG。如果你只需要4个大写,你的哈希字符串是:aD562Hvdt356H7Jss

您的密码是:DHHJ

一个有效的简单解决方案!

如果您需要比哈希字符串中的字母更长的密码,请在用完字母时从另一个随机数创建另一个哈希字符串!