注册

JAVA侧SM4加密结果与DM加密结果不一致

心中有颗红太阳 2026/06/24 38 4 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8企业版
【操作系统】:centOs7
【CPU】:
【问题描述】*:
java侧以下方式加密:
SecretKey key = new SecretKeySpec(KEY.getBytes("GBK"), "SM4");
Cipher cipher = Cipher.getInstance("SM4/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] encrypted = cipher.doFinal("123".getBytes());
System.out.println(Hex.toHexString(encrypted).toUpperCase());

输出:E53238720ACBBF821E6C0B08AB7E0BAF

DM数据库侧:
SELECT
SF_ENCRYPT_BINARY(
'123',
5201,
'F3B361FD6CA6DE0C',
NULL
)
FROM DUAL;

输出转换为HEX:0D3536DB87FC1B92EDABD607C31EDC74

如何解决?请大神指导,只能通过外部jar的方式了吗?

回答 0
暂无回答
扫一扫
联系客服