package com.ruoyi.yunxin.manager; import com.ruoyi.yunxin.config.YunxinProperties; import com.ruoyi.yunxin.util.CheckSumBuilder; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component @Slf4j public class YunxinManager { @Autowired private YunxinProperties yunxinProperties; public boolean checkNotify(String body,String curTime, String checkSum,String md5){ try { String appSecret = yunxinProperties.getAppSecret(); String verifyMD5 = CheckSumBuilder.getMD5(body); if(md5 == null || !md5.equals(verifyMD5)){ log.error("云信回调校验异常,md5 不相等"); return false; } String verifyChecksum = CheckSumBuilder.getCheckSum(appSecret, verifyMD5, curTime); if(checkSum == null || !checkSum.equals(verifyChecksum)){ log.error("云信回调校验异常,checkSum 不相等"); return false; } return true; }catch (Exception e){ log.info("检查云信回调数据失败",e); return false; } } }