RSA加密、解密、加签、验签

迈不过友情╰ 2022-04-10 06:39 820阅读 0赞

我这里的是RSA第二版的,即密钥长度2048,网上很多都是1024。加签和验签使用的是SHA256WithRSA。

  1. /**
  2. * RSA2加解密、加签、验签。
  3. * <p>
  4. * 密钥格式Java版本的请使用PKCS8,其他语言请使用PKCS1。密钥长度2048。
  5. *
  6. * @author xanthuim
  7. */
  8. public class Rsa2Utils {
  9. public static final String CHARSET = "UTF-8";
  10. public static final String RSA_ALGORITHM = "RSA";
  11. public static final String RSA_ALGORITHM_SIGN = "SHA256WithRSA";
  12. //private ;
  13. //private RSAPublicKey rsaPublicKey;
  14. private static RSAPublicKey rsaPublicKey(String publicKey) {
  15. //通过PKCS#8编码的Key指令获得私钥对象
  16. try {
  17. KeyFactory keyFactory = KeyFactory.getInstance(RSA_ALGORITHM);
  18. //通过X509编码的Key指令获得公钥对象
  19. X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(Base64.decodeBase64(publicKey));
  20. return (RSAPublicKey) keyFactory.generatePublic(x509KeySpec);
  21. } catch (Exception e) {
  22. throw new RuntimeException(e);
  23. }
  24. }

发表评论

表情:
评论列表 (有 0 条评论,820人围观)

还没有评论,来说两句吧...

相关阅读

    相关 加密解密 签名

    几个基本概念: 加密:发送方利用接收方的公钥对要发送的明文进行加密。 解密:接受方利用自己的私钥进行解密。 公钥和私钥配对的,用公钥加密的文件,只有对应的私钥才能解密。当