1、windows安装openssl
https://blog.csdn.net/sunhuansheng/article/details/82218678
2、从.pfx文件中提取私钥和证书
https://www.php.cn/windows-416177.html
3、RSA加密与解密(Java实现)
https://blog.csdn.net/qy20115549/article/details/83105736
4、Base64编码与Java版本实现
https://www.jianshu.com/p/79ecc613ed21
5、RSA/RSA2 进行签名和验签
https://www.cnblogs.com/chinazhou-wang/p/6728327.html
6、获取public.cer公钥
1 import java.io.FileInputStream; 2 import java.security.PublicKey; 3 import java.security.cert.CertificateFactory; 4 import java.security.cert.X509Certificate; 5 6 import org.apache.commons.codec.binary.Base64; 7 8 public class GetPublicKeyFromCer { 9 10 public static String getPublicKey() { 11 try { 12 CertificateFactory certFactory = CertificateFactory.getInstance("X.509"); 13 X509Certificate cert = (X509Certificate) certFactory.generateCertificate(new FileInputStream("D:/test/public.cer")); // cer证书路径 14 PublicKey publicKey = cert.getPublicKey(); 15 String pubKey = new String(Base64.encodeBase64(publicKey.getEncoded())); 16 return pubKey; 17 } catch (Exception e) { 18 e.printStackTrace(); 19 } 20 21 return null; 22 } 23 }
7、AES、DES算法比较、区别
加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用
8、MD5、SHA1区别