美文网首页
Java使用RSA公钥私钥加密解密

Java使用RSA公钥私钥加密解密

作者: AC编程 | 来源:发表于2024-09-19 13:15 被阅读0次

一、代码

import java.security.*;
import java.util.Base64;
import javax.crypto.Cipher;

public class Test {

    public static void main(String[] args) {
        try {
            // 生成RSA密钥对
            KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
            keyGen.initialize(2048);
            KeyPair pair = keyGen.generateKeyPair();
            PublicKey publicKey = pair.getPublic();
            PrivateKey privateKey = pair.getPrivate();

            // 公钥和私钥的Base64编码字符串
            String publicKeyString = Base64.getEncoder().encodeToString(publicKey.getEncoded());
            String privateKeyString = Base64.getEncoder().encodeToString(privateKey.getEncoded());

            System.out.println("Public Key: " + publicKeyString);
            System.out.println("Private Key: " + privateKeyString);

            // 使用公钥加密
            Cipher cipher = Cipher.getInstance("RSA");
            cipher.init(Cipher.ENCRYPT_MODE, publicKey);
            byte[] encryptedBytes = cipher.doFinal("Secret Message".getBytes());
            String encryptedString = Base64.getEncoder().encodeToString(encryptedBytes);

            System.out.println("Encrypted Message: " + encryptedString);

            // 使用私钥解密
            cipher.init(Cipher.DECRYPT_MODE, privateKey);
            byte[] decryptedBytes = cipher.doFinal(encryptedBytes);
            String decryptedString = new String(decryptedBytes);

            System.out.println("Decrypted Message: " + decryptedString);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

相关文章

  • iOS RSA加签和验签(SHA1WithRSA)

    RSA 简介 RSA是一种非对称加密算法,使用公钥加密就可以使用私钥解密,使用私钥加密就可以使用公钥解密。RSA公...

  • openssl终端命令RSA和DES加解密

    RSA 1、生成公钥和私钥 2、加密解密文件 公钥加密私钥解密 私钥加密公钥解密 3、在程序中使用依次生成 csr...

  • Rsa加解密

    /*** Rsa 加解密* 用法:* (1)公钥加密,私钥解密* (2)私钥加密,公钥解密*/class ...

  • iOS RSA加签和验签

    RSA是一种非对称加密算法,使用公钥加密就可以使用私钥解密,使用私钥加密就可以使用公钥解密。RSA公钥对外公开,私...

  • RSA非对称加密算法

    RSA算法,经典非对称加密算法,通过生成公钥 私钥 进行加密解密 公钥加密 私钥解密 反之 私钥加密 公钥...

  • 加密相关

    公钥加密 私钥解密 ,私钥加密,公钥验证(签名) HTTPS -- AFSecurityPolicy RSA ...

  • RSA加密算法

    RSA加解密、签名验签過程 RSA加密是一种非对称加密,通常使用公钥加密,私钥解密,私钥签名,公钥验签。私钥是個人...

  • RSA在线加密解密

    在线RSA公私钥加密解密,支持私钥加密->公钥解密、公钥加密->私钥解密,支持PKCS#1、PKCS#8格式公私钥...

  • iOS之密码学

    一、非对称加密 - RSA : +公钥加密,私钥解密; + 私钥加密,公钥解密; + 只能通过因式分解来破解 二、...

  • Java RSA加密/解密

    Java RSA加密&解密如下: 拿到RSA 公钥和私钥后我们可以保存到文件中,代码如下: 解析已有的公钥和私钥,...

网友评论

      本文标题:Java使用RSA公钥私钥加密解密

      本文链接:https://www.haomeiwen.com/subject/hqboljtx.html