概述
Java 生成随机密码的思路,是通过 Java 中 java.security.SecureRandom
随机数生成类。
生成指定范围内的随机数 num,然后根据随机数 num 作为索引,从字符串数组中获取对应的字符,组成随机密码。
实现
1 | private static final int PASSWORD_LENGTH = 12; |
代码剖析
通过 PASSWORD_LENGTH 定义需要的密码长度,这里定义的长度是 12,你可以根据需求调整。
PASSWORD_CHARS 定义密码组成的字符,随机密码中的字符都是从这个字符串中提取,如果密码中需要其他特殊字符,也可以往 PASSWORD_CHARS 里继续添加。
randomPassword() 方法中,首先创建了一个 SecureRandom 对象 random,然后调用 random.nextInt(PASSWORD_CHARS.length()) 方法,获取 PASSWORD_CHARS.length() 长度范围内的随机数 index。
获取 index 后,将 index 作为索引,从 PASSWORD_CHARS 字符串中取对应位置的字符,并拼接到随机密码串后。
运行
测试代码
1 | public static void main(String[] args) { |
运行结果
hello: 4DT8bxJXMzZk