zoukankan      html  css  js  c++  java
  • rsa

    /**
    * RSA公钥加密
    *
    * @param str
    * 加密字符串
    * @param publicKey
    * 公钥
    * @return 密文
    * @throws Exception
    * 加密过程中的异常信息
    */
    public static String encrypt( String str, String publicKey ) throws Exception{
    //base64编码的公钥
    byte[] decoded = Base64.decodeBase64(publicKey);
    RSAPublicKey pubKey = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded));
    //RSA加密
    Cipher cipher = Cipher.getInstance("RSA");
    cipher.init(Cipher.ENCRYPT_MODE, pubKey);
    String outStr = Base64.encodeBase64String(cipher.doFinal(str.getBytes("UTF-8")));
    return outStr;
    }

    /**
    * RSA私钥解密
    *
    * @param str
    * 加密字符串
    * @param privateKey
    * 私钥
    * @return 铭文
    * @throws Exception
    * 解密过程中的异常信息
    */
    public static String decrypt(String str, String privateKey) throws Exception{
    //64位解码加密后的字符串
    byte[] inputByte = Base64.decodeBase64(str.getBytes("UTF-8"));
    //base64编码的私钥
    byte[] decoded = Base64.decodeBase64(privateKey);
    RSAPrivateKey priKey = (RSAPrivateKey) KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(decoded));
    //RSA解密
    Cipher cipher = Cipher.getInstance("RSA");
    cipher.init(Cipher.DECRYPT_MODE, priKey);
    String outStr = new String(cipher.doFinal(inputByte));
    return outStr;
    }
  • 相关阅读:
    screen命令
    完全背包问题
    01背包问题
    数组排序使得数组负数在正数左边且按照原来的顺序
    Git 后悔药系列
    Nacos作为注册中心和配置中心
    JDK15都出了,你确定不来了解下JDK8吗?
    WPF创建一个凹凸效果的边框
    vue---splitpane分割
    列表实现拖拽
  • 原文地址:https://www.cnblogs.com/CaptainLin/p/11462891.html
Copyright © 2011-2022 走看看