第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

temp值和signature值不一樣啊,誰幫忙看一下

package?com.imooc.servlet;

import?java.io.IOException;
import?java.io.PrintWriter;

import?javax.servlet.ServletException;
import?javax.servlet.http.HttpServlet;
import?javax.servlet.http.HttpServletRequest;
import?javax.servlet.http.HttpServletResponse;

import?com.imooc.util.CheckUtil;

public?class?WeixinServlet?extends?HttpServlet?{
????@Override
????protected?void?doGet(HttpServletRequest?req,?HttpServletResponse?resp)
????????????throws?ServletException,?IOException?{
????????String?signature=req.getParameter("signature");
????????String?timestamp=req.getParameter("timestamp");
????????String?nonce=req.getParameter("nonce");
????????String?echostr=req.getParameter("echostr");
????????
????????PrintWriter?out=?resp.getWriter();
????????System.out.println(CheckUtil.checkSignature(signature,?timestamp,?nonce));
????????if(CheckUtil.checkSignature(signature,?timestamp,?nonce)){
????????????out.print(echostr);
????????}
????}

}
---------------------------------------------------------------
package?com.imooc.util;

import?java.security.MessageDigest;
import?java.util.Arrays;

public?class?CheckUtil?{
????public?static?final?String?token="hrkj";
????public?static?boolean?checkSignature(String?signature,?String?timestamp,
????????????String?nonce)?{
????????String[]?arr?=?new?String[]?{?signature,?timestamp,?nonce?};
????????//?排序
????????Arrays.sort(arr);
????????//?生成字符串
????????StringBuffer?content?=?new?StringBuffer();
????????for?(int?i?=?0;?i?<?arr.length;?i++)?{
????????????content.append(arr[i]);
????????}
????????String?temp?=?getSha1(content.toString());
????????System.out.println("temp="+temp);
????????System.out.println("signature="+signature);
????????return?temp.equals(signature);
????}

????//?SHA1加密
????public?static?String?getSha1(String?str)?{
????????if?(null?==?str?||?0?==?str.length())?{
????????????return?null;
????????}
????????char[]?hexDigits?=?{?'0',?'1',?'2',?'3',?'4',?'5',?'6',?'7',?'8',?'9',
????????'a',?'b',?'c',?'d',?'e',?'f'?};
????????try?{
????????????MessageDigest?mdTemp?=?MessageDigest.getInstance("SHA1");
????????????mdTemp.update(str.getBytes("UTF-8"));
????????????byte[]?md?=?mdTemp.digest();
????????????int?j?=?md.length;
????????????char[]?buf?=?new?char[j?*?2];
????????????int?k?=?0;
????????????for?(int?i?=?0;?i?<?j;?i++)?{
????????????????byte?byte0?=?md[i];
????????????????buf[k++]?=?hexDigits[byte0?>>>?4?&?0xf];
????????????????buf[k++]?=?hexDigits[byte0?&?0xf];
????????????}
????????????return?new?String(buf);
????????}?catch?(Exception?e)?{
????????????return?null;
????????}
????}
}


正在回答

1 回答

在checkUtil中的arr字符串數(shù)組里,用你的token把signature替換掉。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

temp值和signature值不一樣啊,誰幫忙看一下

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號