java微信签名什么意思,java,_求java实现微信签名,java - phpStudy
求java实现微信签名
1.求java怎么实现微信签名
package sign;
import java.security.MessageDigest;
public class MD5Util {
private static String byteArrayToHexString(byte b[]) {
StringBuffer resultSb = new StringBuffer();
for (int i = 0; i < b.length; i++)
resultSb.append(byteToHexString(b[i]));
return resultSb.toString();
}
private static String byteToHexString(byte b) {
int n = b;
if (n < 0)
n += 256;
int d1 = n / 16;
int d2 = n % 16;
return hexDigits[d1] + hexDigits[d2];
}
public static String MD5Encode(String origin, String charsetname) {
String resultString = null;
try {
resultString = new String(origin);
MessageDigest md = MessageDigest.getInstance("MD5");
if (charsetname == null || "".equals(charsetname))
resultString = byteArrayToHexString(md.digest(resultString
.getBytes()));
else
resultString = byteArrayToHexString(md.digest(resultString
.getBytes(charsetname)));
} catch (Exception exception) {
}
return resultString;
}
private static final String hexDigits[] = { "0", "1", "2", "3", "4", "5",
"6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
}
package sign;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.SortedMap;
import java.util.TreeMap;
public class pay {
//http://mch.weixin.qq.com/wiki/doc/api/index.php?chapter=4_3
private static String Key = "1394290902";
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(">>>模拟微信支付<<
System.out.println("==========华丽的分隔符==========");
//微信api提供的参数
String appid = "wx9f25641641562bde";
String mch_id = "1394290902";
String nonce_str = "3PG2J4ILTKCH16CQ2502SI8ZNMTM67VS";
SortedMap parameters = new TreeMap();
parameters.put("appid", appid);
parameters.put("mch_id", mch_id);
parameters.put("nonce_str", nonce_str);
String characterEncoding = "UTF-8";
String weixinApiSign = "9A0A8659F005D6984697E2CA0A9CF3B7";
System.out.println("微信的签名是:" + weixinApiSign);
String mySign = createSign(characterEncoding,parameters);
System.out.println("我 的签名是:"+mySign);
if(weixinApiSign.equals(mySign)){
System.out.println("恭喜你成功了~");
}else{
System.out.println("注定了你是个失败者~");
}
String userAgent = "Mozilla/5.0(iphone;CPU iphone OS 5_1_1 like Mac OS X) AppleWebKit/534.46(KHTML,like Geocko) Mobile/9B206 MicroMessenger/5.0";
char agent = userAgent.charAt(userAgent.indexOf("MicroMessenger")+15);
System.out.println("微信的版本号:"+new String(new char[]{agent}));
}
/**
* 微信支付签名算法sign
* @param characterEncoding
* @param parameters
* @return
*/
@SuppressWarnings("unchecked")
public static String createSign(String characterEncoding,SortedMap parameters){
StringBuffer sb = new StringBuffer();
Set es = parameters.entrySet();//所有参与传参的参数按照accsii排序(升序)
Iterator it = es.iterator();
while(it.hasNext()) {
Map.Entry entry = (Map.Entry)it.next();
String k = (String)entry.getKey();
Object v = entry.getValue();
if(null != v && !"".equals(v)
&& !"sign".equals(k) && !"key".equals(k)) {
sb.append(k + "=" + v + "&");
}
}
sb.append("key=" + Key);
String sign = MD5Util.MD5Encode(sb.toString(), characterEncoding).toUpperCase();
return sign;
}
}
为什么用这个生成的签名是错误的
appid也没有错啊
相关阅读:
angular2打包时出错?不理解错误
求开源脚本工具--执行sql生成excel并自动发送给指定接收人
JS如何在AJAX中获取服务端字节数组数据,并保存本地文件?
fdisk中的type和mkfs中的type参数的核心区别是什么呢?
Vue组件中改变Vuex中一个数组的某一项,其他项也全都被修改
React 组件 A 通知组件 B 更新视图
Idea下面无法识别web-inf下lib目录的子目录的jar包,只能直接放lib下面才能识别?
jedis连接不上redis,sentinel报错
JNI怎么链接已经写好的C++编写的动态库文件.so
在qq浏览器 uc等浏览器 左右滑动禁止翻页
avalon defined的变量 是不是全局变量?
跨域请求的问题
ionic的安装
有没有适配移动页面的pdf转html工具?
手机页面在安卓和苹果浏览器显示不同的小小问题
提示成功安装后 打开首页是 config.inc.php的内容
iframe跨域取值问题
git push远程库失败
vue.js/ES6 怎么export
怎么实现这种图片效果?
java微信签名什么意思,java,_求java实现微信签名,java - phpStudy相关推荐
- java蓝桥杯加法变乘法_蓝桥杯-加法变乘法-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
- java内存 phd文件抓取_您可以从IBM PHD Java堆转储中提取字符串的值吗?
我有一个来自IBM jvm的PHD格式堆转储,我希望检查一些字符串的值.使用Sun JVM的二进制hprof转储,这是可能的,但是我无法从IBM转储中恢复此信息. 我试过了: >具有IBM DT ...
- vue在微信里面的兼容问题_详解Vue微信公众号开发踩坑全记录
本文介绍了Vue微信公众号开发踩坑全记录,分享给大家,也给自己留个笔记. 需求 微信授权登录(基于公众号的登录方案) 接入JS-SDK实现图片上传,分享等功能 现状及难点 采用的Vue框架,前后端分 ...
- python开发微信订阅号如何申请_基于Python的微信公众平台二次开发(Python常用框架、订阅号开发、公众号开发)...
1.1.课程的背景 微信公众平台的火热程度已经不用多言,无论是个人还是企业,政府还是商家,都已经开始搭建微信公众平台,微信的作用已经被各界人士认可.微信公众平台的技术需求市场缺口巨大.同时python ...
- python微信小程序后端开发_使用django开发微信小程序后端
tips: 本文面向的对象是已经会使用django开发web后端的人员 微信小程序后端与普通web的区别 微信小程序的后端开发和普通的restful API 大致上相同,只不过要注意以下几点限制 必须 ...
- java 1亿个数字中_求一亿个数字里面最小的10个数字
package com.yuzhiyun;import java.util.Arrays;/** * 求一亿个数里面最小的10个数 * 首先建立节点个数为10的最大堆,然后考虑每一个新的值,让他和堆顶 ...
- 为什么java下载安装程序很慢_【关注】微信小程序开发和APP开发的10种区别!
在移动互联网大火的时代,APP和微信小程序已经成为了企业从移动端获取用户流量,实现盈利的重要端口. 因为微信小程序体积小,操作方便,省去了下载安装这一操作,导致这两年微信小程序的势头是越来越猛,甚至有 ...
- 2个JAVA程序能放在一起吗_求JAVA大神把2程序功能组合在一起
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 以下程序为 图片旋转功能 import java.awt.*; import java.awt.event.*; import java.awt.imag ...
- java打字小游戏源码_求JAVA编写打字游戏源代码!
展开全部 package chen; import java.awt.*; import java.awt.event.*; import java.awt.image.BufferedImage; ...
- java计算长方形面积代码小数_求一个计算正方形面积的Java程序
满意答案 xumei_xumei 2013.09.07 采纳率:51% 等级:12 已帮助:5929人 第一个要求的第(4),是计算圆形面积还是计算正方形面积? 我按计算正方形面积给你做的-- ...
最新文章
- 深入探秘 Netty、Kafka 中的零拷贝技术!
- 原来Transformer就是一种图神经网络,这个概念你清楚吗?
- 博文视点大讲堂35期-It's Android Time:程序员创富有道! 圆满结束
- linux文件cache的框框架架以及相关的数据结构
- YII2 载入默认值 loadDefaultValues
- what do we want for advertiesement
- Webwork 学习之路【02】前端OGNL试练
- python高级教程html文件_Python之html转docx文件高级用法
- 阿里云刘伟光:金融核心系统将步入分布式智能化的时代
- MySQL 直接存储图片并在 html 页面中展示,点击下载
- 基于DNS实现智能化访问网站
- 诺基亚手机的安全保护。--如何使你的手机丢失,被盗后依然安全。
- 【转载】推荐5款超实用的.NET性能分析工具
- 拓端tecdat|R语言时间序列分析复杂的季节模式
- 微信小程序不行了?连接应用场景面临挑战
- 浩辰3D设计软件中如何进行弹簧设计?
- 【win10专业版】3dmax卸载不干净如何解决
- Foxmail发送邮件,发送邮件工具类
- 多线程+反爬:爬取阿里巴巴国际站物流表现数据到mysql
- 我的第一篇随笔-------吹起启程之风