public class SM2 extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static String |
CRYPTO_NAME_SM2 |
| 构造器和说明 |
|---|
SM2() |
| 限定符和类型 | 方法和说明 |
|---|---|
static boolean |
certVerify(String plaintext,
String certStr,
String signValueStr)
证书验签
|
static String |
decrypt(String cipherData,
String priKey)
SM2解密算法
|
static String |
decrypt(String cipherData,
String priKey,
int cipherMode)
SM2解密算法
|
static String |
encrypt(String data,
String pubKey)
SM2加密算法
|
static String |
encrypt(String data,
String pubKey,
int cipherMode)
SM2加密算法
|
static SM2KeyPair |
generateSm2Keys(boolean compressed)
生成SM2公私钥对
BC库使用的公钥=64个字节+1个字节(04标志位),BC库使用的私钥=32个字节
SM2秘钥的组成部分有 私钥D,公钥X,公钥Y, 他们都可以用长度为64的16进制的HEX串表示,
SM2公钥并不是直接由X+Y表示, 而是额外添加了一个头,当启用压缩时:公钥=有头+公钥X,即省略了公钥Y的部分
|
static String |
sign(String plainText,
String priKey)
签名
|
static boolean |
verify(String plainText,
String pubKey,
String signatureValue)
验签
|
public static SM2KeyPair generateSm2Keys(boolean compressed)
BC库使用的公钥=64个字节+1个字节(04标志位),BC库使用的私钥=32个字节 SM2秘钥的组成部分有 私钥D,公钥X,公钥Y, 他们都可以用长度为64的16进制的HEX串表示, SM2公钥并不是直接由X+Y表示, 而是额外添加了一个头,当启用压缩时:公钥=有头+公钥X,即省略了公钥Y的部分
compressed - 是否压缩公钥(加密解密都使用BC库才能使用压缩)public static String encrypt(String data, String pubKey)
data - 待加密的数据pubKey - 公钥public static String encrypt(String data, String pubKey, int cipherMode)
pubKey - 公钥data - 待加密的数据cipherMode - 密文排列方式0-C1C2C3;1-C1C3C2;public static String decrypt(String cipherData, String priKey)
priKey - 私钥cipherData - 密文数据public static String decrypt(String cipherData, String priKey, int cipherMode)
priKey - 私钥cipherData - 密文数据cipherMode - 密文排列方式 0-C1C2C3;1-C1C3C2;public static String sign(String plainText, String priKey)
priKey - 私钥plainText - 待签名文本public static boolean verify(String plainText, String pubKey, String signatureValue)
pubKey - 公钥plainText - 明文signatureValue - 签名Copyright © 2023. All rights reserved.