首页 > 代码库 > 微信公共号开发人员中心(JAVA)【token失败解决的方法】

微信公共号开发人员中心(JAVA)【token失败解决的方法】

在开发微信公共平台一些新手通常都会遇到的问题(ps:我就是那个新手)

我这里仅仅讲自己遇到的问题。遇到了token失败的问题,首先查阅资料,具体了解各个字段的具体含义,并验证代码sha1验证是否正确。看看失败的原因,依据文档提示,2个字符串假设不匹配的话,肯定是验证失败了。依据我个人想法,我是来把加密后的字符串。微信发送的字符串(signature)。提取出来。来比对推断究竟是哪里错了。

我这里用的一个非常蠢的办法,就是在H盘里面生成一个,文件,文件名称各自是2个字符串。【或者写入txt文档】(假设有更好的方法回复下哦,一起学习)

代码:

<span style="white-space:pre">		</span>String path = "h:";
		File f = new File(path);
		if(!f.exists()){
		f.mkdirs();
		} 
		// fileName表示你创建的文件名称;为txt类型;
		String fileName = <span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;">fileName</span><span style="font-size: 12px; font-family: Arial, Helvetica, sans-serif;">;</span>		File filee = new File(f,fileName);
		if(!filee.exists()){
		try {
		filee.createNewFile();
		} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
		}
		}



在2个地方分别 放上这端代码,之后再进行比对就可以。我token失败是由于。sha1加密后和微信给的大写和小写出现错误。

从而失败。



sha1算法:

	
	private static final int[] abcde = { 0x67452301, 0xefcdab89, 0x98badcfe,
			0x10325476, 0xc3d2e1f0 };
	
	// 摘要数据存储数组
	private static int[] digestInt = new int[5];
	
	// 计算过程中的暂时数据存储数组
	private static int[] tmpData = http://www.mamicode.com/new int[80];>

微信公共号开发人员中心(JAVA)【token失败解决的方法】