java中会用到很多的RSA加密解密。不过一般可以通过接口获取到别人的公钥。然后进行数据的加密。在传给别人。别人会拿着密钥进行解密获取数据。

 /**
   * RSA公钥加密
   *
   * @param password 待加密的密码
   * @param publicKey 公钥
   * @return 密文
   */
  public static String encryptRSA(String password, String publicKey) {
    // base64编码的公钥
    try {
      byte[] decoded = Base64.decode(publicKey);
      RSAPublicKey pubKey =
          (RSAPublicKey)
              KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded));
      // RSA加密
      Cipher cipher = Cipher.getInstance("RSA");
      cipher.init(Cipher.ENCRYPT_MODE, pubKey);
      //**此处Base64编码,开发者可以使用自己的库**
      String outStr = Base64.encode(cipher.doFinal(password.getBytes("UTF-8")));
      return outStr;
    } catch (Exception e) {

    }
    return null;
  }

这个就是java使用RSA加密。

用python去使用别人的公钥进行加密也是很简单的。
首先先下载相关包

pip install rsa
pip install pycryptodome

Snipaste_2021-07-15_15-50-22.png

在使用方法进行加密解密
Snipaste_2021-07-15_15-52-30.png

这样就可以通过获取别人的公钥加密,发送给别人。


XiaoMiao
25 声望1 粉丝

i am bug!