1.封装一个实体类或方法
- package com.wt.controller;
-
- import java.util.Random;
-
- /**
- * @Author wt
- * @Date 2022/9/6 19:12
- * @PackageName:com.wt.controller
- * @ClassName: xx
- * @Description: TODO
- * @Version 1.0
- */
- public class Factory {
- //生成随机用户名,数字和字母组成,
- public static String getRandomCharacters(int length) {
-
- String val = "";
- Random random = new Random();
-
- //参数length,表示生成几位随机数
- for (int i = 0; i < length; i++) {
-
- String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num";
- //输出字母还是数字
- if ("char".equalsIgnoreCase(charOrNum)) {
- //输出是大写字母还是小写字母
- int temp = random.nextInt(2) % 2 == 0 ? 65 : 97;
- val += (char) (random.nextInt(26) + temp);
- } else if ("num".equalsIgnoreCase(charOrNum)) {
- val += String.valueOf(random.nextInt(10));
- }
- }
- return val;
- }
-
- }
2.通过类名调用该方法----此处生成的账号密码是英文大小加数字写混合的
- public class Test01 {
- public static void main(String[] args) {
- //通过类名调用封装好的随机生成方法---随机生成账号、密码、盐
- String username = Factory.getRandomCharacters(8);
- String password = Factory.getRandomCharacters(8);
- String salt = Factory.getRandomCharacters(3);
- System.out.println(username);
- System.out.println(password);
- System.out.println(salt);
- }
- }
3.将所有的字母转为大写字母或小写字母---非字母不受影响
在生成的账号密码和盐后加
大写字母转小写: .toLowerCase(Locale.ROOT) | .toLowerCase()
小写字母转大写: toUpperCase(Locale.ROOT) | toUpperCase()
- public class Test01 {
- public static void main(String[] args) {
-
- //在生成的账号密码和盐后加.toLowerCase(Locale.ROOT)
- String username = Factory.getRandomCharacters(8);
- String password = Factory.getRandomCharacters(8);
- String salt = Factory.getRandomCharacters(3);
- String addr = Factory.getRandomCharacters(5);
- //将所有的字母都变为小写字母----非字母不受影响
- System.out.println(username.toLowerCase(Locale.ROOT));
- System.out.println(password.toLowerCase());
- //将所有的字母都变为大写字母----非字母不受影响
- System.out.println(salt.toUpperCase(Locale.ROOT));
- System.out.println(addr.toUpperCase());
- }
- }