diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/h5/WxAuthController.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/h5/WxAuthController.java index e5e5f17c..289c65dd 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/h5/WxAuthController.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/h5/WxAuthController.java @@ -9,6 +9,7 @@ import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.mp.api.WxMpService; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.utils.CookieUtil; +import org.jeecg.modules.utils.MD5Util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/WxH5OuthrizeForm.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/WxH5OuthrizeForm.java index 86f589f7..88e44c6a 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/WxH5OuthrizeForm.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/WxH5OuthrizeForm.java @@ -1,6 +1,7 @@ package org.jeecg.modules.entity; import lombok.Data; +import org.jeecg.modules.utils.Json; import javax.validation.constraints.NotEmpty; @Data diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/utils/Json.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/utils/Json.java new file mode 100644 index 00000000..af5ed7f9 --- /dev/null +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/utils/Json.java @@ -0,0 +1,20 @@ +package org.jeecg.modules.utils; + +import com.alibaba.fastjson.JSON; + +public class Json { + + /** + * 对象序列化为JSON字符串 + * + * @param object + * @return + */ + public static String toJsonString(Object object) { + return JSON.toJSONString(object); + } + + public static T fromJson(String jsonStr, Class clazz) { + return JSON.parseObject(jsonStr, clazz); + } +} diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/utils/MD5Util.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/utils/MD5Util.java new file mode 100644 index 00000000..0733b201 --- /dev/null +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/utils/MD5Util.java @@ -0,0 +1,75 @@ +package org.jeecg.modules.utils; + +import java.security.MessageDigest; +import java.util.Objects; + +/** + * MD5加密工具类 + */ +public class MD5Util { + private static final String DEFAULT_MD_5_SALT = "fjdsl321312kf349832&*^*903294[JNLIUIK]%fsdjfkl";//加盐md5盐值 + + /** + * 获得字符串的md5值 + * + * @return md5加密后的字符串 + */ + public static String getMd5(String s) { + char[] hexDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; + try { + byte[] btInput = s.getBytes(); + // 获得MD5摘要算法的 MessageDigest 对象 + MessageDigest mdInst = MessageDigest.getInstance("MD5"); + // 使用指定的字节更新摘要 + mdInst.update(btInput); + // 获得密文 + byte[] md = mdInst.digest(); + // 把密文转换成十六进制的字符串形式 + int j = md.length; + char[] str = new char[j * 2]; + int k = 0; + for (int i = 0; i < j; i++) { + byte byte0 = md[i]; + str[k++] = hexDigits[byte0 >>> 4 & 0xf]; + str[k++] = hexDigits[byte0 & 0xf]; + } + return new String(str); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + /** + * 校验字符串的md5值 + * + * @param str 目标字符串 + * @param md5 基准md5 + * @return 校验结果 + */ + public static boolean checkMd5(String str, String md5) { + return Objects.requireNonNull(getMd5(str)).equalsIgnoreCase(md5); + } + + /** + * 获得加盐md5,算法过程是原字符串md5后连接加盐字符串后再进行md5 + * + * @param str 待加密的字符串 + * @param salt 盐 + * @return 加盐md5 + */ + public static String getMd5AndSalt(String str, String salt) { + return getMd5(Objects.requireNonNull(getMd5(str)).concat(salt)); + } + + /** + * 获得加盐md5,算法过程是原字符串md5后连接加盐字符串后再进行md5 + * 使用默认盐值 + * + * @param str 待加密的字符串 + * @return 加盐md5 + */ + public static String getMd5AndSalt(String str) { + return getMd5(Objects.requireNonNull(getMd5(str)).concat(DEFAULT_MD_5_SALT)); + } +}