Commit b9304007 by xuwenhao

8.28获取签名

parent be00bd00
package yangtz.cs.liu.wechat.controller.api;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.*;
public class Sha1Util {
private static final int[] abcde = {
......@@ -229,6 +227,34 @@ public class Sha1Util {
return "";
}
/*sha1加密*/
public static String sha12(String decript) {
String signature = "";
try {
MessageDigest crypt = MessageDigest.getInstance("SHA-1");
crypt.reset();
crypt.update(decript.getBytes("UTF-8"));
signature = byteToHex(crypt.digest());
return signature;
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return "";
}
private static String byteToHex(final byte[] hash) {
Formatter formatter = new Formatter();
for (byte b : hash)
{
formatter.format("%02x", b);
}
String result = formatter.toString();
formatter.close();
return result;
}
/**
* @Comment SHA1实现
* @Author Ron
......
......@@ -323,14 +323,14 @@ public class WxApiController extends BaseController {
String token = accessTokenUtil.getToken();
//获取jsapi_ticket
String ticket = null;
ticket = redisCache.getCacheObject("ticket");
//ticket = redisCache.getCacheObject("ticket");
if (StringUtils.isEmpty(ticket)){
String ticketss = HttpUtils.sendGet(
"https://api.weixin.qq.com/cgi-bin/ticket/getticket?" + "access_token=" + token
+ "&type=jsapi");
JSONObject jsonObject = JSONUtil.parseObj(ticketss);
ticket = jsonObject.get("ticket").toString();
redisCache.setCacheObject("ticket", ticket, 5, TimeUnit.MINUTES);
// redisCache.setCacheObject("ticket", ticket, 5, TimeUnit.MINUTES);
}
//生成JS-SDK权限验证的签名
//1.生成随机字符串
......@@ -338,7 +338,7 @@ public class WxApiController extends BaseController {
//去掉“-”符号
String noncester = uuid.replaceAll("-", "");
//2获取时间戳
long timestamp = System.currentTimeMillis();
long timestamp = System.currentTimeMillis()/1000;
//3.
Map<String, String> maps = new TreeMap<String,String>();
maps.put("noncestr", noncester);
......@@ -348,12 +348,13 @@ public class WxApiController extends BaseController {
String createLinkString = createLinkString(maps);
log.info(createLinkString);
//sha1签名,得到signature
String signature = Sha1Util.sha1(createLinkString);
String signature = Sha1Util.sha12(createLinkString);
map.put("noncestr",noncester);
map.put("jsapi_ticket",ticket);
map.put("timestamp",String.valueOf(timestamp));
map.put("url",url);
map.put("signature",signature);
map.put("cstoken",token);
return AjaxResult.success(map);
......
......@@ -38,7 +38,8 @@ public class AccessTokenUtil {
public RedisCache redisCache;
public String getToken() {
String token = redisCache.getCacheObject(ACCESS_TOKEN);
// String token = redisCache.getCacheObject(ACCESS_TOKEN);
String token = null;
if (StringUtils.isEmpty(token)) {
try {
String url = accessTokenUri;
......@@ -54,7 +55,7 @@ public class AccessTokenUtil {
token = accessToken;
log.info(accessToken);
// 将access_token存入redis
redisCache.setCacheObject("access_token", accessToken, 5, TimeUnit.MINUTES);
// redisCache.setCacheObject("access_token", accessToken, 5, TimeUnit.MINUTES);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
......
......@@ -12,8 +12,9 @@
select distinct sg.id from school_grade sg
left join school_class sc on sc.grade_id = sg.id
left join school_class_mentor scm on scm.class_id = sc.id
left join school_class_headmaster sch on sch.class_id = sc.id
where sg.del_flag = '0' and sc.del_flag = '0' and scm.del_flag = '0'
and scm.teacher_id = #{userId} and sg.school_year = #{schoolYear}
and scm.teacher_id = #{userId} or sch.teacher_id = #{userId} and sg.school_year = #{schoolYear}
order by sg.id
</select>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment