求代碼檢查
package?com.weixin.util; import?java.io.UnsupportedEncodingException; import?java.security.MessageDigest; import?java.security.NoSuchAlgorithmException; import?java.util.Arrays; public?class?CheckUtil?{ private?static?final?String?token?=?"Imooc"; public?static?boolean?checkSignature(String?signature,?String?timestamp,?String?nonce)?{ String[]?args?=?new?String[]?{?token,?timestamp,?nonce?}; Arrays.sort(args); StringBuffer?content?=?new?StringBuffer(); for?(int?i?=?0;?i?<?args.length;?i++)?{ content.append(args[i]); } //?加密 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?(NoSuchAlgorithmException?e)?{ //?TODO?Auto-generated?catch?block e.printStackTrace(); }?catch?(UnsupportedEncodingException?e)?{ //?TODO?Auto-generated?catch?block e.printStackTrace(); } return?null; } }
老師這里面的代碼哪里錯了,綁定微信公眾號時,老是報token錯誤,我token確定是一直的,加密后的值與signature我debug查看是不一致的,但我對照你的代碼,看不錯問題
2016-05-17
jar包和URL都沒錯吧?
2015-12-20
會不會是“Imooc”大小寫的問題