Java中的密码生成

Java中的密码生成,java,security,Java,Security,我想要一个使用JAR文件的Java密码生成器,它应该符合标准密码规则。 如果它是开源的,那就太好了。有什么建议吗 谢谢试试这个:JPWGEN private static final String charset=“0123456789abcdefghijklmnopqrstuvwxyz”; 公共静态字符串getRandomPassword(整数长度){ Random rand=新的Random(System.currentTimeMillis()); StringBuilder sb=新的St

我想要一个使用JAR文件的Java密码生成器,它应该符合标准密码规则。 如果它是开源的,那就太好了。有什么建议吗

谢谢

试试这个:JPWGEN

private static final String charset=“0123456789abcdefghijklmnopqrstuvwxyz”;
公共静态字符串getRandomPassword(整数长度){
Random rand=新的Random(System.currentTimeMillis());
StringBuilder sb=新的StringBuilder();
for(int i=0;i
对acegi security进行一番抨击。然后像这样使用它:

public class SomeClass {

private PasswordEncoder passwordEncoder;

// other code   

public String generatePassword() {
    byte[] ab = new byte[1];
    Random r = new Random();
    r.nextBytes(ab);
    return passwordEncoder.encodePassword(new String(ab), null).substring(24);
}

}不到一个月前,有人问了同样的问题:

这个也很相似:

这个也是:


以前的一些研究总是很好的

定义“标准密码规则”。此外,根据常见问题,您已经对此进行了哪些研究?例如,你有没有谷歌“java密码生成器”呢?没有标准的密码规则。如果有的话,不要使用标准的密码生成器;)我想他需要一些数字符号和字母组合之类的东西,最少8个字符。@Andreas_D。我不明白为什么那样会不好。@Andreas_D。仍然不明白重点。让我们假设你有一个页面,你说“输入密码,你的密码应该至少有X个字符,你应该有…”。然后,任何人都可以创建一个程序,生成所有可能的密码,因此,如果没有根据规则生成安全密码的可能性,您就不会购买任何东西。您只需要确保生成器没有使用可预测的种子。请记住,即使加密库也可以与源代码一起使用,但这并不会降低它们的安全性。大写字母呢?为了确保至少有一个大写,一个数字,一个小写?
public class SomeClass {

private PasswordEncoder passwordEncoder;

// other code   

public String generatePassword() {
    byte[] ab = new byte[1];
    Random r = new Random();
    r.nextBytes(ab);
    return passwordEncoder.encodePassword(new String(ab), null).substring(24);
}