mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
add SM4CMAC
This commit is contained in:
parent
77d3015bc0
commit
4cee569d22
@ -12,6 +12,7 @@
|
|||||||
* 【core 】 ZipWriter增加add方法重载
|
* 【core 】 ZipWriter增加add方法重载
|
||||||
* 【core 】 IterUtil增加filtered,增加FilterIter(issue#2228)
|
* 【core 】 IterUtil增加filtered,增加FilterIter(issue#2228)
|
||||||
* 【core 】 增加NodeListIter、ResettableIter
|
* 【core 】 增加NodeListIter、ResettableIter
|
||||||
|
* 【crypto 】 HmacAlgorithm增加SM4CMAC(issue#2206@Github)
|
||||||
|
|
||||||
### 🐞Bug修复
|
### 🐞Bug修复
|
||||||
* 【core 】 IdcardUtil#getCityCodeByIdCard位数问题(issue#2224@Github)
|
* 【core 】 IdcardUtil#getCityCodeByIdCard位数问题(issue#2224@Github)
|
||||||
|
@ -13,7 +13,9 @@ public enum HmacAlgorithm {
|
|||||||
HmacSHA384("HmacSHA384"),
|
HmacSHA384("HmacSHA384"),
|
||||||
HmacSHA512("HmacSHA512"),
|
HmacSHA512("HmacSHA512"),
|
||||||
/** HmacSM3算法实现,需要BouncyCastle库支持 */
|
/** HmacSM3算法实现,需要BouncyCastle库支持 */
|
||||||
HmacSM3("HmacSM3");
|
HmacSM3("HmacSM3"),
|
||||||
|
/** SM4 CMAC模式实现,需要BouncyCastle库支持 */
|
||||||
|
SM4CMAC("SM4CMAC");
|
||||||
|
|
||||||
private final String value;
|
private final String value;
|
||||||
|
|
||||||
|
@ -83,4 +83,18 @@ public class HmacTest {
|
|||||||
String macHex1 = mac.digestHex(testStr);
|
String macHex1 = mac.digestHex(testStr);
|
||||||
Assert.assertEquals("d9ad618357c1bfb1d9d1200a763d5eaa", macHex1);
|
Assert.assertEquals("d9ad618357c1bfb1d9d1200a763d5eaa", macHex1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void sm4CMACTest(){
|
||||||
|
// https://github.com/dromara/hutool/issues/2206
|
||||||
|
final byte[] key = new byte[16];
|
||||||
|
HMac mac = new HMac(HmacAlgorithm.SM4CMAC,
|
||||||
|
KeyUtil.generateKey("SM4", key));
|
||||||
|
|
||||||
|
// 原文
|
||||||
|
String testStr = "test中文";
|
||||||
|
|
||||||
|
String macHex1 = mac.digestHex(testStr);
|
||||||
|
Assert.assertEquals("58a0d231315664af51b858a174eabc21", macHex1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user