微信|服务器后台提示错误"Token验证失败"

移动开发 码拜 8年前 (2016-04-16) 1017次浏览
public class CheckUtil {
	public static final String token="qweqwe";
	public static boolean checkSignature(String signature,String timestamp,String nonce){
		String[] arr=new String[]{token,timestamp,nonce};
		//排序
		Arrays.sort(arr);

		//生成字符串
		StringBuffer content=new StringBuffer();
		for(int i=0;i<content.length();i++){
			content.append(arr[i]);
		}

		//sha1加密
		String temp=getSha1(content.toString());

		return temp.equals(signature);

		 
	}
	public static String getSha1(String str){
		if(str==null||str.length()==0){
			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;
		}
	}

}

这是验证Token的代码,实在不知道哪里错了,请大家帮帮忙

解决方案

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明微信|服务器后台提示错误"Token验证失败"
喜欢 (0)
[1034331897@qq.com]
分享 (0)