MD5采用128位二进制流模式,即16个字节,注意是二进制数组格式而不是字符串格式.16个字节按照原顺序加载到原压缩数据报文前面.
具体实现
//1.md5加密
byte[] md5Bytes=null;
try {
MessageDigest md5 = MessageDigest.getInstance("MD5");
md5Bytes = md5.digest(requestXMLDeflate);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
log.info("md5加密出错",e);
}
//2.md5码拼接deflate压缩数据流
byte[] requestXmlMd5Deflate=new byte[md5Bytes.length+requestXMLDeflate.length];
System.arraycopy(md5Bytes, 0, requestXmlMd5Deflate, 0, md5Bytes.length);
System.arraycopy(requestXMLDeflate, 0, requestXmlMd5Deflate, md5Bytes.length, requestXMLDeflate.length);