package com.dayu.qiheonlinelibrary.net;
|
|
import java.nio.charset.StandardCharsets;
|
import java.security.KeyFactory;
|
import java.security.PublicKey;
|
import java.security.spec.X509EncodedKeySpec;
|
|
import javax.crypto.Cipher;
|
|
/**
|
* author: zuo
|
* Date: 2024-07-29
|
* Time: 14:38
|
* 备注:RSA加密工具类
|
*/
|
public class RSAUtile {
|
|
public static byte[] encryptByPublicKey(String data, String publicKey) throws Exception {
|
// 得到公钥
|
X509EncodedKeySpec keySpec = new X509EncodedKeySpec(publicKey.getBytes(StandardCharsets.UTF_8));
|
KeyFactory kf = KeyFactory.getInstance("RSA");
|
PublicKey keyPublic = kf.generatePublic(keySpec);
|
|
// 加密数据
|
Cipher cp = Cipher.getInstance("RSA/ECB/PKCS1Padding");
|
cp.init(Cipher.ENCRYPT_MODE, keyPublic);
|
return cp.doFinal(data.getBytes(StandardCharsets.UTF_8));
|
}
|
|
|
|
}
|