您好我在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();
}
}
答案 0 :(得分:0)
使用已知的哈希算法(例如sha512)在随机数上生成哈希字符串,然后根据过滤器获取第一个字母。
EG。如果你只需要4个大写,你的哈希字符串是:aD562Hvdt356H7Jss
您的密码是:DHHJ
一个有效的简单解决方案!
如果您需要比哈希字符串中的字母更长的密码,请在用完字母时从另一个随机数创建另一个哈希字符串!