Commit b9304007 by xuwenhao

8.28获取签名

parent be00bd00
package yangtz.cs.liu.wechat.controller.api; package yangtz.cs.liu.wechat.controller.api;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.util.ArrayList; import java.util.*;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Sha1Util { public class Sha1Util {
private static final int[] abcde = { private static final int[] abcde = {
...@@ -229,6 +227,34 @@ public class Sha1Util { ...@@ -229,6 +227,34 @@ public class Sha1Util {
return ""; 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实现 * @Comment SHA1实现
* @Author Ron * @Author Ron
......
...@@ -323,14 +323,14 @@ public class WxApiController extends BaseController { ...@@ -323,14 +323,14 @@ public class WxApiController extends BaseController {
String token = accessTokenUtil.getToken(); String token = accessTokenUtil.getToken();
//获取jsapi_ticket //获取jsapi_ticket
String ticket = null; String ticket = null;
ticket = redisCache.getCacheObject("ticket"); //ticket = redisCache.getCacheObject("ticket");
if (StringUtils.isEmpty(ticket)){ if (StringUtils.isEmpty(ticket)){
String ticketss = HttpUtils.sendGet( String ticketss = HttpUtils.sendGet(
"https://api.weixin.qq.com/cgi-bin/ticket/getticket?" + "access_token=" + token "https://api.weixin.qq.com/cgi-bin/ticket/getticket?" + "access_token=" + token
+ "&type=jsapi"); + "&type=jsapi");
JSONObject jsonObject = JSONUtil.parseObj(ticketss); JSONObject jsonObject = JSONUtil.parseObj(ticketss);
ticket = jsonObject.get("ticket").toString(); ticket = jsonObject.get("ticket").toString();
redisCache.setCacheObject("ticket", ticket, 5, TimeUnit.MINUTES); // redisCache.setCacheObject("ticket", ticket, 5, TimeUnit.MINUTES);
} }
//生成JS-SDK权限验证的签名 //生成JS-SDK权限验证的签名
//1.生成随机字符串 //1.生成随机字符串
...@@ -338,7 +338,7 @@ public class WxApiController extends BaseController { ...@@ -338,7 +338,7 @@ public class WxApiController extends BaseController {
//去掉“-”符号 //去掉“-”符号
String noncester = uuid.replaceAll("-", ""); String noncester = uuid.replaceAll("-", "");
//2获取时间戳 //2获取时间戳
long timestamp = System.currentTimeMillis(); long timestamp = System.currentTimeMillis()/1000;
//3. //3.
Map<String, String> maps = new TreeMap<String,String>(); Map<String, String> maps = new TreeMap<String,String>();
maps.put("noncestr", noncester); maps.put("noncestr", noncester);
...@@ -348,12 +348,13 @@ public class WxApiController extends BaseController { ...@@ -348,12 +348,13 @@ public class WxApiController extends BaseController {
String createLinkString = createLinkString(maps); String createLinkString = createLinkString(maps);
log.info(createLinkString); log.info(createLinkString);
//sha1签名,得到signature //sha1签名,得到signature
String signature = Sha1Util.sha1(createLinkString); String signature = Sha1Util.sha12(createLinkString);
map.put("noncestr",noncester); map.put("noncestr",noncester);
map.put("jsapi_ticket",ticket); map.put("jsapi_ticket",ticket);
map.put("timestamp",String.valueOf(timestamp)); map.put("timestamp",String.valueOf(timestamp));
map.put("url",url); map.put("url",url);
map.put("signature",signature); map.put("signature",signature);
map.put("cstoken",token);
return AjaxResult.success(map); return AjaxResult.success(map);
......
...@@ -38,7 +38,8 @@ public class AccessTokenUtil { ...@@ -38,7 +38,8 @@ public class AccessTokenUtil {
public RedisCache redisCache; public RedisCache redisCache;
public String getToken() { public String getToken() {
String token = redisCache.getCacheObject(ACCESS_TOKEN); // String token = redisCache.getCacheObject(ACCESS_TOKEN);
String token = null;
if (StringUtils.isEmpty(token)) { if (StringUtils.isEmpty(token)) {
try { try {
String url = accessTokenUri; String url = accessTokenUri;
...@@ -54,7 +55,7 @@ public class AccessTokenUtil { ...@@ -54,7 +55,7 @@ public class AccessTokenUtil {
token = accessToken; token = accessToken;
log.info(accessToken); log.info(accessToken);
// 将access_token存入redis // 将access_token存入redis
redisCache.setCacheObject("access_token", accessToken, 5, TimeUnit.MINUTES); // redisCache.setCacheObject("access_token", accessToken, 5, TimeUnit.MINUTES);
} }
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
......
...@@ -12,8 +12,9 @@ ...@@ -12,8 +12,9 @@
select distinct sg.id from school_grade sg select distinct sg.id from school_grade sg
left join school_class sc on sc.grade_id = sg.id 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_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' 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 order by sg.id
</select> </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