java编写非对称加密,解密,公钥加密,私钥解密,RSA,rsa

Posted Mr.lang?

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java编写非对称加密,解密,公钥加密,私钥解密,RSA,rsa相关的知识,希望对你有一定的参考价值。

非对称加密已经被评为加密标准,主要包含(公钥加密私钥解密,或者私钥加密公钥解密)本文主要讲解的是如何用java生成 公钥和私钥并且 进行字符串加密 和字符串解密
   

//如需要代码copy如下


import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.util.HashMap;
import java.util.Map;

import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;

import sun.applet.resources.MsgAppletViewer;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class KeyRSA1 {
    //密钥对生成器
    private KeyPairGenerator keyPairGenerator;
    //密钥对 里面包含(公钥he 私钥)
    private KeyPair keyPair;
    //公钥对象
    private PublicKey publicKey;
    //私钥对象
    private PrivateKey privateKey;
    //加密解密通用类型  
    private String keyType = "RSA";
    /*** 构造函数
     * @param keySize 密钥长度取值范围(512-16384)建议1024或者2048 别整太长降低性能
     * @throws Exception*/
    public KeyRSA1(int keySize) throws Exception {
        // 1创建 keypairGengerator密钥生成器对象
        keyPairGenerator = KeyPairGenerator.getInstance(keyType);
        // 2指定密钥生成器的长度
        keyPairGenerator.initialize(keySize);
        // 3创建 keypair 根据密钥生成器获取密钥对 里面包含(公钥和私钥)
        keyPair = keyPairGenerator.genKeyPair();
        // 4 根据密钥对 创建 公钥
        publicKey = keyPair.getPublic();
        // 5 根据密钥对 创建 私钥
        privateKey = keyPair.getPrivate();
    }
    // 使用公

以上是关于java编写非对称加密,解密,公钥加密,私钥解密,RSA,rsa的主要内容,如果未能解决你的问题,请参考以下文章

非对称加密中,公钥在啥情况下用于加密,啥情况用于解密?

RSA非对称加密,私钥用于签名公钥用于验签;公钥用于加密私钥用于解密

关于公钥私钥是否可以互相加解密的理解(附苹果开发者证书配置时非对称加密算法的应用)

对称加密和非对称加密

对称加密和非对称加密

对称非对称加密的区别是?