123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- package com.zanxiang.sdk.util;
- import com.zanxiang.common.enums.HttpStatusEnum;
- import com.zanxiang.common.utils.MD5Util;
- import org.apache.logging.log4j.util.Strings;
- /**
- * @author : lingfeng
- * @time : 2022-06-22
- * @description : 用户注册工具类
- */
- public class RegisterUtil {
- /**
- * 密码加密盐值
- */
- private static final String CMF_PASSWORD_SALT = "ZX_PASSWORD_SALT";
- /**
- * 用户名最小长度
- */
- private static final int USER_NAME_LENGTH_MIN = 4;
- /**
- * 用户名最大长度
- */
- private static final int USER_NAME_LENGTH_MAX = 32;
- /**
- * 密码最小长度
- */
- private static final int PASSWORD_LENGTH_MIN = 6;
- /**
- * 密码最大长度
- */
- private static final int PASSWORD_LENGTH_MAX = 32;
- /**
- * 用户名合规检测
- *
- * @param userName : 用户名验证
- * @return : 返回验证结果
- */
- public static HttpStatusEnum checkUserName(String userName) {
- if (Strings.isBlank(userName)) {
- return HttpStatusEnum.USERNAME_EMPTY;
- }
- //用户名长度验证
- if (userName.length() < USER_NAME_LENGTH_MIN) {
- return HttpStatusEnum.USERNAME_TOO_SHORT;
- }
- if (userName.length() > USER_NAME_LENGTH_MAX) {
- return HttpStatusEnum.USERNAME_TOO_LONG;
- }
- //用户名只能是数字字母组合
- if (!RegexUtil.checkUserName(userName)) {
- return HttpStatusEnum.USERNAME_BAD_CHAR;
- }
- //密码验证
- return HttpStatusEnum.SUCCESS;
- }
- /**
- * 密码合规检测
- *
- * @param password : 密码验证
- * @return : 返回验证结果
- */
- public static HttpStatusEnum checkPassword(String password) {
- if (Strings.isBlank(password)) {
- return HttpStatusEnum.PASSWORD_EMPTY;
- }
- if (password.length() < PASSWORD_LENGTH_MIN) {
- return HttpStatusEnum.PASSWORD_TOO_SHORT;
- }
- if (password.length() > PASSWORD_LENGTH_MAX) {
- return HttpStatusEnum.PASSWORD_TOO_LONG;
- }
- //密码只能是数字字母组合
- if (!RegexUtil.checkPassword(password)) {
- return HttpStatusEnum.PASSWORD_BAD_CHAR;
- }
- return HttpStatusEnum.SUCCESS;
- }
- /**
- * 随机用户昵称
- *
- * @return : 返回用户昵称
- */
- public static String randomNickName(String userName) {
- return "smlgm" + Math.abs(userName.hashCode());
- }
- /**
- * 密码cfm加密
- *
- * @param password : 密码
- * @return : 返回加密完的密码
- */
- public static String cmfPassword(String password) {
- String passwordSalt = password + CMF_PASSWORD_SALT;
- String charsetName = "UTF-8";
- return "###" + MD5Util.MD5Encode(MD5Util.MD5Encode(passwordSalt, charsetName), charsetName);
- }
- }
|