suerprisePlus
2024-09-03 2e9e03c7971f1da71cc9e9bd7d2f159c244839f3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package com.yb.helper;
 
import org.apache.commons.codec.binary.Base64;
 
import javax.crypto.Cipher;
import java.security.KeyFactory;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.X509EncodedKeySpec;
 
public class RsaHelper {
    //    RsA秘钥加密
    public static String encrypt(String key, String str) throws Exception {
        // Base64编码的公钥
        byte[] decoded = Base64.decodeBase64(key + "");
 
        RSAPublicKey pubKey = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded));
 
        // RSA加密:RSA/ECB/NoPadding
        Cipher cipher = Cipher.getInstance("RSA");
        cipher.init(Cipher.ENCRYPT_MODE, pubKey);
 
        String outStr = Base64.encodeBase64String(cipher.doFinal(str.getBytes("UTF-8")));
 
        return outStr;
    }
 
}