From 6b6664763f0f24708ef63c65e0b69317d2728da7 Mon Sep 17 00:00:00 2001 From: Ethereal <1498117283@qq.com> Date: Thu, 25 Apr 2024 23:19:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AF=86=E7=A0=81=E5=8A=A0?= =?UTF-8?q?=E5=AF=86=E7=B1=BB=E4=BB=A5=E5=8F=8A=E7=99=BB=E5=BD=95=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/AuthServiceImpl.java | 9 ++- .../catchTheLetters/utils/DESUtil.java | 81 +++++++++++++++++++ 2 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/example/catchTheLetters/utils/DESUtil.java diff --git a/src/main/java/com/example/catchTheLetters/service/impl/AuthServiceImpl.java b/src/main/java/com/example/catchTheLetters/service/impl/AuthServiceImpl.java index ba2df86..ddc51d0 100644 --- a/src/main/java/com/example/catchTheLetters/service/impl/AuthServiceImpl.java +++ b/src/main/java/com/example/catchTheLetters/service/impl/AuthServiceImpl.java @@ -8,6 +8,7 @@ import com.example.catchTheLetters.entity.User; import com.example.catchTheLetters.model.vo.UserVo; import com.example.catchTheLetters.service.AuthService; import com.example.catchTheLetters.service.RedisService; +import com.example.catchTheLetters.utils.DESUtil; import com.example.catchTheLetters.utils.JwtUtil; import com.example.catchTheLetters.utils.R; import jakarta.annotation.Resource; @@ -30,6 +31,9 @@ public class AuthServiceImpl implements AuthService { @Resource private RedisService redisService; + @Resource + private DESUtil desUtil; + @Override public R login(LoginDto loginDto) { // 根据用户名查询用户信息 @@ -48,7 +52,8 @@ public class AuthServiceImpl implements AuthService { if (Objects.isNull(user)) { return R.fail("用户不存在"); } - if (!user.getPassword().equals(loginDto.getPassword())) { + String verifyPwd = desUtil.SHA512(loginDto.getPassword()); + if (!user.getPassword().equals(verifyPwd)) { return R.fail("密码错误"); } Map map = new HashMap<>(); @@ -111,7 +116,7 @@ public class AuthServiceImpl implements AuthService { } } - user.setPassword(registerDto.getPassword()); + user.setPassword(desUtil.SHA512(registerDto.getPassword())); user.setCreateTime(System.currentTimeMillis()); user.setUpdateTime(System.currentTimeMillis()); var insert = mongoTemplate.insert(user); diff --git a/src/main/java/com/example/catchTheLetters/utils/DESUtil.java b/src/main/java/com/example/catchTheLetters/utils/DESUtil.java new file mode 100644 index 0000000..0f14cc7 --- /dev/null +++ b/src/main/java/com/example/catchTheLetters/utils/DESUtil.java @@ -0,0 +1,81 @@ +package com.example.catchTheLetters.utils; + +import org.springframework.stereotype.Component; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +/** + * @author 慕华 + * @date 2024/4/25 + * @Version 1.0 + * @description + */ + @Component + public class DESUtil { + /** + * 传入文本内容,返回 SHA-256 串 + * @param strText 传入加密文本 + * @return 加密后文本 + */ + public String SHA256(final String strText) { + return SHA(strText, "SHA-256"); + } + + /** + * 传入文本内容,返回 SHA-512 串 + * + * @param strText 传入加密文本 + * @return 加密后文本 + */ + public String SHA512(final String strText) { + return SHA(strText, "SHA-512"); + } + + /** + * md5加密 + * @param strText 传入加密文本 + * @return 加密后文本 + */ + public String SHAMD5(String strText) { + return SHA(strText, "MD5"); + } + + /** + * 字符串 SHA 加密 + */ + private String SHA(final String strText, final String strType) { + // 返回值 + String strResult = null; + + // 是否是有效字符串 + if (strText != null && strText.length() > 0) { + try { + // SHA 加密开始 + // 创建加密对象 并传入加密类型 + MessageDigest messageDigest = MessageDigest.getInstance(strType); + // 传入要加密的字符串 + messageDigest.update(strText.getBytes()); + // 得到 byte 类型结果 + byte[] byteBuffer = messageDigest.digest(); + + // 将 byte 转换为 string + StringBuilder strHexString = new StringBuilder(); + // 遍历 byte buffer + for (byte b : byteBuffer) { + String hex = Integer.toHexString(0xff & b); + if (hex.length() == 1) { + strHexString.append('0'); + } + strHexString.append(hex); + } + // 得到返回结果 + strResult = strHexString.toString(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + } + + return strResult; + } +}