1、优化sm4_cbc加解密方法
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user