700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 密码随机生成器

密码随机生成器

时间:2018-08-10 17:07:06

相关推荐

密码随机生成器

本代码密码复杂度8-25位,特殊字符、数字、字母大小写全都支持,可以直接cp使用

public class PasswordGenerator {private static final char[] CHARR = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%&*".toCharArray();private static final String PASSWORD_REGEX = "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z._~!@#$^&*=?','+'。'-'/]+$)(?![a-z0-9]+$)(?![a-z._~!@#$^&*=?','+'。'-'/]+$)(?![0-9._~!@#$^&*=?','+'。'-'/]+$)[a-zA-Z0-9._~!@#$^&*=?','+'。'-'/]{8,20}$";private static final Pattern PASSWORD_PATTERN = pile(PASSWORD_REGEX);public static String generatePassword(int length) {length = length < 8 ? 8 : length;length = length > 25 ? 25 : length;String result = getRandomPassword(length);Matcher m = PASSWORD_PATTERN.matcher(result);if (m.matches()) {return result;}return generatePassword(length);}private static String getRandomPassword(int length) {StringBuilder sb = new StringBuilder();ThreadLocalRandom r = ThreadLocalRandom.current();for (int x = 0; x < length; ++x) {sb.append(CHARR[r.nextInt(CHARR.length)]);}return sb.toString();}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。