|
|
|
@ -273,9 +273,9 @@ public class CryptoSensitiveHsmServiceImpl implements ICryptoSensitiveHsmService |
|
|
|
byte[] padded = hexToBytes(decryptResult.getOutData()); |
|
|
|
// 调试: 二进制(Hex)输出解密原始字节(含 PKCS7 填充位), 便于比对明文与填充是否正确
|
|
|
|
// 正常形态: 明文字节 + N 个值为 N 的填充字节(如手机号11位 → 末尾 05 05 05 05 05)
|
|
|
|
log.info("HSM解密原始结果Hex(含填充): {}, 字节长度: {}, 填充位数: {}", |
|
|
|
HexUtil.encodeHexStr(padded), padded.length, |
|
|
|
(padded.length > 0 ? (padded[padded.length - 1] & 0xFF) : -1)); |
|
|
|
// log.info("HSM解密原始结果Hex(含填充): {}, 字节长度: {}, 填充位数: {}",
|
|
|
|
// HexUtil.encodeHexStr(padded), padded.length,
|
|
|
|
// (padded.length > 0 ? (padded[padded.length - 1] & 0xFF) : -1));
|
|
|
|
if (padded == null || padded.length == 0 || padded.length % 16 != 0) { |
|
|
|
throw new IllegalStateException("HSM解密结果长度非法: " + (padded == null ? -1 : padded.length)); |
|
|
|
} |
|
|
|
|