RSA加密算法,著名的非对称加密算法之一。
1,私钥加密,公钥解密例子(通常用在数字证书签名上)。
package rsa;
import org.apache.commons.codec.binary.Base64;
import javax.crypto.Cipher;
import java.security.*;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import java.time.Duration;
import java.time.Instant;
/**
* Hello world!
*
*/
public class RSAPrivateDemo {
private static String str = "本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、python、Objective-C、ActionScript、Pascal等单词的拼写,熟练掌握Windows、Linux、Mac、Android、IOS、WP8等系统的开关机";
public static void encryptMsg() {
try {
// 1. 初始化秘钥
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(1024 * 4); //设置加密最大长度
KeyPair keyPair = keyPairGenerator.generateKeyPair