【问题标题】:Any Idea how I generate random Char values in Java? I'm creating a random password generator [duplicate]知道如何在 Java 中生成随机 Char 值吗?我正在创建一个随机密码生成器 [重复]
【发布时间】:2013-10-06 20:52:42
【问题描述】:

我正在用 java 创建一个随机密码生成器,需要一些帮助来了解如何在程序中生成随机 char 值。有任何想法吗?我使用菜单系统来显示要生成的不同类型的密码,例如小写、大写等。

任何建议都会有所帮助。

谢谢!

【问题讨论】:

  • 此类问题的解决方案已在别处展示,请先搜索再提问。如果找不到,请尝试一下。如果你不能让它工作,那就问吧。
  • 为什么这个问题被如此强烈地否决了?还有其他的重复,没有这样的惩罚?我认为有时人们在投票时会发疯。特别是新来者的投票问题禁止他们并且不教任何东西。请谨慎投票。

标签: java random


【解决方案1】:
Random r = new Random();

String alphabet = "123xyz";

// Prints 50 random characters from alphabet
for (int i = 0; i < 50; i++) 
{
    System.out.println(alphabet.charAt(r.nextInt(alphabet.length())));
} 

不要打印您的字符,而是将它们添加到StringBuilder,这样您就有了随机密码。

(Source)

【讨论】:

  • 对于任何与安全相关的东西,比如密码,都应该使用 SecureRandom。
  • @TwoThe 同意。但我怀疑他的作业会被黑。
【解决方案2】:

这是另一个解决方案:

    public int genRandomNumber(int min, int max)
    {
        return new Random().nextInt((max - min) + 1) + min;
    }

    public String genRandomPassword(int length)
    {
        String pass = "";

        for (int i = 0; i < length; i++)
        {
            pass += this.genRandomNumber(0x61, 0x7A);//min and max are ASCII char values.
        }

        return pass;
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-17
    • 2012-11-06
    • 2010-09-08
    • 2018-11-01
    • 1970-01-01
    • 2012-07-28
    相关资源
    最近更新 更多