工银聚统一支付平台开发有做过案例的么。
一、发送报文的md5签名格式
Tools.md5(
Tools.md5(
"version=" + version +
"&merId=" + merid +
"&tranCode=" + trancode +
"&reqData=" + tmp , charset).toUpperCase() +
"SEPGARAYJTOR" + Tools.md5(password + transtime ,charset).toUpperCase(),
charset).toUpperCase();
tmp字段为xml格式的交易报文,详见各接口
二、返回报文的md5签名格式
Tools.md5(
Tools.md5(
"reqData=" + retxml +
"&merId=" + merid +
"&orderId=" + orderid, charset).toUpperCase() +
"SEPGARAYJTOR" + Tools.md5(password + transtime ,charset).toUpperCase() ,
charset).toUpperCase()
retxml字段为xml格式的返回报文,详见各接口
三、Md5函数
publicclass Tools {
publicstatic String md5(String str,String charset) {
if (str == null) {
returnnull;
}
MessageDigest messageDigest = null;
try {
messageDigest = MessageDigest.getInstance("MD5");
messageDigest.reset();
messageDigest.update(str.getBytes(charset));
} catch (NoSuchAlgorithmException e) {
return str;
} catch (UnsupportedEncodingException e) {
return str;
}
byte[] byteArray = messageDigest.digest();
StringBuffer md5StrBuff = new StringBuffer();
for (int i = 0; i < byteArray.length; i++) {
if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)
md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));
else
md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));
}
return md5StrBuff.toString();
}
}
有做过的求指教一下。。。 文档给的Java的。。