1、优化sm4_cbc加解密方法

This commit is contained in:
zhoubin
2021-10-19 15:16:09 +08:00
parent b65f76aab8
commit b0a1c42ff3
7 changed files with 507 additions and 16 deletions
+32
View File
@@ -0,0 +1,32 @@
package com.sunyard.trans;
public enum Alg {
DES("DES", 0),
DES3("DES3", 1),
AES( "AES", 2),
AES256( "AES256", 3),
SSF33( "SSF33", 4),
SM1( "SM1", 5),
SM2( "SM2", 6),
SM3( "SM3", 7),
SM4( "SM4", 8),
RSA( "RSA", 9);
private String name;
private int value;
// 构造方法
private Alg(String name, int value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public int getValue() {
return value;
}
}
+25 -2
View File
@@ -4,13 +4,34 @@ package com.sunyard.trans;
*/
public enum FullMode {
PKCS("PKCS", 1), //PKCS5/PKCS7
NOFILL( "NOFILL", 2),
WEAKFILL( "WEAKFILL", 3),
STRONGFILL( "STRONGFILL", 4);
private String name;
private int value;
// 构造方法
private FullMode(String name, int value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public int getValue() {
return value;
}
/**
* 如果数据块长度为 8/16 的整数倍,不需要填
充;如果长度不为 8/16 的整数倍,填充至长度满
8/16 的整数倍(填充方式按 Pad character 域中
描述的规则进行,由加密机内部自动完成)
*/
FULL_8_16,
// FULL_8_16,
/**
* 如果数据块长度为 8/16 的整数倍,填充一个
整 8/16 字节的数据(填充方式按 Pad character
@@ -19,5 +40,7 @@ public enum FullMode {
的整数倍(填充方式按 Pad character 域中描述
的规则进行,由加密机内部自动完成)
*/
FULL_MORE_8_16
// FULL_MORE_8_16
}
@@ -0,0 +1,25 @@
package com.sunyard.trans;
public enum RoundMode {
ECB("ECB", 1),
CBC( "CBC", 2),
CFB( "CFB", 3),
OFB( "OFB", 4);
private String name;
private int value;
// 构造方法
private RoundMode(String name, int value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public int getValue() {
return value;
}
}