//客户校验码 使用顺丰分配的客户校验码
String checkWord = "fjcg5PGKaNpPSHFAZ4QsCOkV71R3zVci";
//时间戳 取报文中的timestamp(调用接口时间戳)
String timestamp = "12312334453453";//业务报文 去报文中的msgData(业务数据报文)
String msgData = "{\"language\":\"zh-CN\",\"orderId\":\"QIAO-20200618-004\"}";
//将业务报文+时间戳+校验码组合成需加密的字符串(注意顺序)
String toVerifyText = msgData+timestamp+checkWord;
//因业务报文中可能包含加号、空格等特殊字符,需要urlEnCode处理
toVerifyText = java.net.URLEncoder.encode(toVerifyText,"UTF-8");
//进行Md5加密
MessageDigest md5 = MessageDigest.getInstance("MD5");
md5.update(toVerifyText.getBytes("UTF-8"));
byte[] md = md5.digest();
//通过BASE64生成数字签名
String msgDigest = new String(new BASE64Encoder().encode(md));
这是第三方java 代码,
msgDigest = E