使用hutool工具生成非对称公私密钥后解密

没事就写笔记
1.进口hutool糊涂包

  <!-- 糊涂工具类 -->
  <dependency>
  <groupId>cn.hutool</groupId>
  <artifactId>hutool-all</artifactId>
  <version>5.8.18</version>
  </dependency>

2.main方法直接狂飙起来

public static void main(String[] args) {
        // 1.加密内容
        String text = "HelloWorld";
        System.out.println("1.加密前 = " + text);
        // 2.获取公钥私钥方式
        // 2.1生成密匙方式一
        //RSA rsa = new RSA();
        //String publicKey = rsa.getPublicKeyBase64();
        //String privateKey = rsa.getPrivateKeyBase64();
        // 2.2生成密匙方式二
        KeyPair pair = SecureUtil.generateKeyPair("RSA");
        String privateKey = Base64.encode(pair.getPrivate().getEncoded());
        String publicKey = Base64.encode(pair.getPublic().getEncoded());
        System.out.println("privateKey = " + privateKey);
        System.out.println("publicKey = " + publicKey);

        // 3.公钥加密
        RSA rsa = new RSA(AsymmetricAlgorithm.RSA_ECB_PKCS1.getValue(), null, publicKey);
        String encryptByPublic = rsa.encryptBase64(text, KeyType.PublicKey);
        System.out.println("2.加密后 = " + encryptByPublic);

        // 4.私钥解密密文
        String s = AsymmetricAlgorithmUtil.decryptByPrivate(encryptByPublic, privateKey);
        RSA rsa2 = new RSA(AsymmetricAlgorithm.RSA_ECB_PKCS1.getValue(), privateKey, null);
        String decryptByPrivate = rsa2.decryptStr(encryptByPublic, KeyType.PrivateKey);
        System.out.println("3.解密后 = " + decryptByPrivate);

    }

3.丝滑看结果

1.加密前 = HelloWorld
privateKey = MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAKnnjaVgajFv+tuRjQFY5mKktlC6XqS5s+/B7X3Rf7DdXqYueZrBOU/8LjST09hWM+RiLQZ+srgqs6HgGR+hacBXnzGSTagxexk8KYCiBNB1Jm1QEuL3E3D83fyjtoZYAXdVnqrmph3lG4l2HMfjEVPSd2BpY+gDRe8FQjceEERRAgMBAAECgYBTi7sJEQnm2Wt/QGkXuoE/DENiGuKjGXWzdaa0canabGA4Uy4UvOLTw+tsiyxmeqz1ppkBUpfLG6RM+wcfmJ2I1/AyU8oVFEilW+EXm8Y1fm+yOvS48SDTuezYhuADBCpsMyrAVRgh33BBilc3z7ZxCUGsq4zmYVl/2CmDM/hIyQJBAP4OnwLW2GDWpdW7qoGRjmV20uEuZs+JWwLCAo86vJdH/CSBpPane6PxBSkvMbQRkYcRMrQ601TDuT/LGzehOt8CQQCrNC7RJBfQyZ17knY8ry0+Pl2cCb4fKxoR77nM22rmu4sxsZP5vv7aHej199lVei8xHXXwkX70ALcNkbXPLZbPAkApDXfIX6srSsQVW3Pb6AdYgfDljjfyxUE9mtgLCPS8hVdLFt/vM3UZMrMgyo1/iW84oiDNWswXYGEo28sUHCuFAkB5DBdB9hQEolh/o4mH1I/Xn37OMbFEFlSDdAzZhBXsd5OuGhE3FszYaSdqqcf3gMFXJ65Y3nZ1jP/gTzLN/jzPAkAAgwjMBhgaFVcSTShu4MoY2t5FtroWsD3LKHVe3tHEOt7/kVT1oweZBA/luITIuhQkxkci1gLxhY8gSCmCv9Rw
publicKey = MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCp542lYGoxb/rbkY0BWOZipLZQul6kubPvwe190X+w3V6mLnmawTlP/C40k9PYVjPkYi0GfrK4KrOh4BkfoWnAV58xkk2oMXsZPCmAogTQdSZtUBLi9xNw/N38o7aGWAF3VZ6q5qYd5RuJdhzH4xFT0ndgaWPoA0XvBUI3HhBEUQIDAQAB
2.加密后 = n97SEE6jWrojAALJAk5nKFISo79jhDb2GjDFG03F3k8ErPjeJsg22YeuJOXWp9CVstVHBvFaF1YHXhhoLz1CKKxDbYu4PxAA3VAEZILXaR/s67q2j0D99R+Z+I38cpeeXupCkiQ33lPgoF7PzAqXeXG0r21M+DNMDPj4YTCqU1g=
3.解密后 = HelloWorld

趣味题:
小红口袋里原有10个铜钱,但它们都掉了,请问小红口袋里还剩下什么?

在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值