求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相关推荐

  1. java蓝桥杯加法变乘法_蓝桥杯-加法变乘法-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  2. java内存 phd文件抓取_您可以从IBM PHD Java堆转储中提取字符串的值吗?

    我有一个来自IBM jvm的PHD格式堆转储,我希望检查一些字符串的值.使用Sun JVM的二进制hprof转储,这是可能的,但是我无法从IBM转储中恢复此信息. 我试过了: >具有IBM DT ...

  3. vue在微信里面的兼容问题_详解Vue微信公众号开发踩坑全记录

    本文介绍了Vue微信公众号开发踩坑全记录,分享给大家,也给自己留个笔记. 需求 微信授权登录(基于公众号的登录方案) 接入JS-SDK实现图片上传,分享等功能 现状及难点 采用的Vue框架,前后端分 ...

  4. python开发微信订阅号如何申请_基于Python的微信公众平台二次开发(Python常用框架、订阅号开发、公众号开发)...

    1.1.课程的背景 微信公众平台的火热程度已经不用多言,无论是个人还是企业,政府还是商家,都已经开始搭建微信公众平台,微信的作用已经被各界人士认可.微信公众平台的技术需求市场缺口巨大.同时python ...

  5. python微信小程序后端开发_使用django开发微信小程序后端

    tips: 本文面向的对象是已经会使用django开发web后端的人员 微信小程序后端与普通web的区别 微信小程序的后端开发和普通的restful API 大致上相同,只不过要注意以下几点限制 必须 ...

  6. java 1亿个数字中_求一亿个数字里面最小的10个数字

    package com.yuzhiyun;import java.util.Arrays;/** * 求一亿个数里面最小的10个数 * 首先建立节点个数为10的最大堆,然后考虑每一个新的值,让他和堆顶 ...

  7. 为什么java下载安装程序很慢_【关注】微信小程序开发和APP开发的10种区别!

    在移动互联网大火的时代,APP和微信小程序已经成为了企业从移动端获取用户流量,实现盈利的重要端口. 因为微信小程序体积小,操作方便,省去了下载安装这一操作,导致这两年微信小程序的势头是越来越猛,甚至有 ...

  8. 2个JAVA程序能放在一起吗_求JAVA大神把2程序功能组合在一起

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 以下程序为 图片旋转功能 import java.awt.*; import java.awt.event.*; import java.awt.imag ...

  9. java打字小游戏源码_求JAVA编写打字游戏源代码!

    展开全部 package chen; import java.awt.*; import java.awt.event.*; import java.awt.image.BufferedImage; ...

  10. java计算长方形面积代码小数_求一个计算正方形面积的Java程序

    满意答案 xumei_xumei 2013.09.07 采纳率:51%    等级:12 已帮助:5929人 第一个要求的第(4),是计算圆形面积还是计算正方形面积? 我按计算正方形面积给你做的-- ...

最新文章

  1. 深入探秘 Netty、Kafka 中的零拷贝技术!
  2. 原来Transformer就是一种图神经网络,这个概念你清楚吗?
  3. 博文视点大讲堂35期-It's Android Time:程序员创富有道! 圆满结束
  4. linux文件cache的框框架架以及相关的数据结构
  5. YII2 载入默认值 loadDefaultValues
  6. what do we want for advertiesement
  7. Webwork 学习之路【02】前端OGNL试练
  8. python高级教程html文件_Python之html转docx文件高级用法
  9. 阿里云刘伟光:金融核心系统将步入分布式智能化的时代
  10. MySQL 直接存储图片并在 html 页面中展示,点击下载
  11. 基于DNS实现智能化访问网站
  12. 诺基亚手机的安全保护。--如何使你的手机丢失,被盗后依然安全。
  13. 【转载】推荐5款超实用的.NET性能分析工具
  14. 拓端tecdat|R语言时间序列分析复杂的季节模式
  15. 微信小程序不行了?连接应用场景面临挑战
  16. 浩辰3D设计软件中如何进行弹簧设计?
  17. 【win10专业版】3dmax卸载不干净如何解决
  18. Foxmail发送邮件,发送邮件工具类
  19. 多线程+反爬:爬取阿里巴巴国际站物流表现数据到mysql
  20. 我的第一篇随笔-------吹起启程之风

热门文章

  1. “掌上运维” – 下一代网管的思考
  2. LaTeX 数学公式大全
  3. WEKA算法开发——记一次不太成功的遗传属性加权贝叶斯算法实验
  4. linux meld 编译,Linux 系统上的可视化比较与合并工具 Meld
  5. matlab去除图片水印_初试 Matlab 之去除水印
  6. 用关联规则和聚类探索药物配伍规律
  7. 地塞米松/多柔比星/胡桃醌/丹皮酚-PLGA聚乳酸-羟基乙酸纳米粒
  8. bootstrap4 input-spinner数字增减框的使用
  9. 在你们眼中,杭州和苏州都是江南名城,有什么区别?
  10. 5G NR 缩略语整理