From 6e6423f583a2557c61e0547f686e7ff6457223c1 Mon Sep 17 00:00:00 2001 From: jieyuu <645634619@qq.com> Date: Mon, 24 Jun 2024 19:36:15 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=B3=A8=E5=86=8C=E5=9F=BA?= =?UTF-8?q?=E6=9C=AC=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xdclass-common/pom.xml | 14 ++++++++++ .../java/net/jieyuu/utils/CommonUtil.java | 17 ++++++++++++ .../service/impl/NotifyServiceImpl.java | 2 +- .../jieyuu/service/impl/UserServiceImpl.java | 26 +++++++++++++------ 4 files changed, 50 insertions(+), 9 deletions(-) diff --git a/xdclass-common/pom.xml b/xdclass-common/pom.xml index 44c33b3..cbc80a6 100644 --- a/xdclass-common/pom.xml +++ b/xdclass-common/pom.xml @@ -83,6 +83,20 @@ + + + org.apache.commons + commons-lang3 + + + + + commons-codec + commons-codec + + + + diff --git a/xdclass-common/src/main/java/net/jieyuu/utils/CommonUtil.java b/xdclass-common/src/main/java/net/jieyuu/utils/CommonUtil.java index ab1e618..03ea281 100644 --- a/xdclass-common/src/main/java/net/jieyuu/utils/CommonUtil.java +++ b/xdclass-common/src/main/java/net/jieyuu/utils/CommonUtil.java @@ -113,4 +113,21 @@ public class CommonUtil { public static long getCurrentTimestamp(){ return System.currentTimeMillis(); } + /** + * 生成指定长度随机串 + * + * @param length + * @return + */ + private static final String ALL_CHAR_NUM = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + public static String getStringNumRandom(int length) { + //生成随机数字和字母, + Random random = new Random(); + StringBuilder saltString = new StringBuilder(length); + for (int i = 1; i <= length; ++i) { + saltString.append(ALL_CHAR_NUM.charAt(random.nextInt(ALL_CHAR_NUM.length()))); + } + return saltString.toString(); + } + } diff --git a/xdclass-user-service/src/main/java/net/jieyuu/service/impl/NotifyServiceImpl.java b/xdclass-user-service/src/main/java/net/jieyuu/service/impl/NotifyServiceImpl.java index 55d51e5..dab1c57 100644 --- a/xdclass-user-service/src/main/java/net/jieyuu/service/impl/NotifyServiceImpl.java +++ b/xdclass-user-service/src/main/java/net/jieyuu/service/impl/NotifyServiceImpl.java @@ -36,7 +36,7 @@ public class NotifyServiceImpl implements NotifyService { * 验证码格式 * todo 对60s的思考 */ - private static final String CONTENT = "您的验证码是%s,有效时间为60秒"; + private static final String CONTENT = "您的验证码是%s,有效时间为10分钟"; /** * 十分钟有效 diff --git a/xdclass-user-service/src/main/java/net/jieyuu/service/impl/UserServiceImpl.java b/xdclass-user-service/src/main/java/net/jieyuu/service/impl/UserServiceImpl.java index 5ab6e01..dea47ca 100644 --- a/xdclass-user-service/src/main/java/net/jieyuu/service/impl/UserServiceImpl.java +++ b/xdclass-user-service/src/main/java/net/jieyuu/service/impl/UserServiceImpl.java @@ -9,7 +9,9 @@ import net.jieyuu.request.UserRegisterRequest; import net.jieyuu.service.NotifyService; import net.jieyuu.service.UserService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import net.jieyuu.utils.CommonUtil; import net.jieyuu.utils.JsonData; +import org.apache.commons.codec.digest.Md5Crypt; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -43,15 +45,15 @@ public class UserServiceImpl extends ServiceImpl implements * 插入数据库 * 新注册用户福利发放 TODO * - * @param userRegisterRequest + * @param registerRequest * @return */ @Override - public JsonData register(UserRegisterRequest userRegisterRequest) { + public JsonData register(UserRegisterRequest registerRequest) { boolean checkCode = false; //校验验证码 - if (StringUtils.isNotBlank(userRegisterRequest.getMail())) { - checkCode = notifyService.checkCode(SendCodeEnum.USER_REGISTER, userRegisterRequest.getMail(), userRegisterRequest.getCode()); + if (StringUtils.isNotBlank(registerRequest.getMail())) { + checkCode = notifyService.checkCode(SendCodeEnum.USER_REGISTER, registerRequest.getMail(), registerRequest.getCode()); } if (!checkCode) { @@ -60,14 +62,19 @@ public class UserServiceImpl extends ServiceImpl implements } UserDO userDO = new UserDO(); - BeanUtils.copyProperties(userRegisterRequest, userDO); + BeanUtils.copyProperties(registerRequest, userDO); //设置创建时间 userDO.setCreateTime(new Date()); - //todo 思考老师的设置是否有问题 -// userDO.setSlogan(""); + //todo 设置密码 加密 // userDO.setPwd(userRegisterRequest.getPwd()); + //生成密钥 盐 + userDO.setSecret("$1$" + CommonUtil.getStringNumRandom(8)); + + //密码加盐处理 + String cryptPwd = Md5Crypt.md5Crypt(userDO.getPwd().getBytes(), userDO.getSecret()); + userDO.setPwd(cryptPwd); //账号唯一性检查 todo if (checkUnique(userDO.getMail())) { @@ -87,16 +94,19 @@ public class UserServiceImpl extends ServiceImpl implements /** * 校验用户账号唯一 + * * @param mail * @return */ private boolean checkUnique(String mail) { - return false; + //todo : 实现 + return true; } /** * 用户注册,初始化福利信息 todo + * * @param userDO */ private void userRegisterInitTask(UserDO userDO) {