<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.9</version>
</dependency>
package com.kakarote.admin.common;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.crypto.asymmetric.KeyType;
import org.apache.commons.codec.binary.Base64;
import java.security.KeyPair;
public class RSAUtil {
private static final String publicKey;
private static final String privateKey;
static {
KeyPair pair = SecureUtil.generateKeyPair("RSA");
publicKey = new String(Base64.encodeBase64(pair.getPublic().getEncoded()));
privateKey= new String(Base64.encodeBase64((pair.getPrivate().getEncoded())));
}
public static String encrypt(String str){
return SecureUtil.rsa(privateKey,publicKey).encryptBcd(str, KeyType.PrivateKey);
}
public static String decrypt (String str){
return SecureUtil.rsa((String) null,publicKey).decryptStrFromBcd(str, KeyType.PublicKey);
}
public static void main(String[] args) {
System.out.println("私钥:" + privateKey);
System.out.println("公钥:" + publicKey);
String encryptStr = encrypt("{\"info\":\"admin\"}");
System.out.println("序列号:" + encryptStr);
}
}