|
|
@@ -14,6 +14,28 @@ public class HmacMD5Util {
|
|
|
private static final int BLOCK_SIZE = 64; // 块大小为64字节
|
|
|
private static final byte IPAD = 0x36; // 内部填充常量
|
|
|
private static final byte OPAD = 0x5C; // 外部填充常量
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据入参顺序生成签名: OperatorID+Data+TimeStamp+Seq
|
|
|
+ * @param operatorId 操作员ID
|
|
|
+ * @param data 数据内容
|
|
|
+ * @param timeStamp 时间戳
|
|
|
+ * @param seq 序列号
|
|
|
+ * @param sigSecret 签名密钥
|
|
|
+ * @return 签名结果(大写)
|
|
|
+ * @throws NoSuchAlgorithmException
|
|
|
+ */
|
|
|
+ public static String genSign(
|
|
|
+ String operatorId,
|
|
|
+ String data,
|
|
|
+ String timeStamp,
|
|
|
+ String seq,
|
|
|
+ String sigSecret) throws NoSuchAlgorithmException {
|
|
|
+
|
|
|
+ String content = (operatorId + data + timeStamp + seq).toUpperCase();
|
|
|
+ return hmacMD5Hex(content, sigSecret);
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* HMAC-MD5签名生成
|
|
|
@@ -128,7 +150,7 @@ public class HmacMD5Util {
|
|
|
}
|
|
|
hexString.append(hex);
|
|
|
}
|
|
|
- return hexString.toString();
|
|
|
+ return hexString.toString().toUpperCase();
|
|
|
}
|
|
|
|
|
|
/**
|