java - 检查 Base64 文本是否是有效的 RSA 公钥 (4096)

标签 java base64 rsa

我如何检查base64文本是否是有效的RSA公钥格式(在java中)。

==> 检查是否为 base64

==> 检查 RSA 4096 位的有效 key 。

谢谢

最佳答案

这样的东西应该适合你,请注意我添加的代码中的注释

我引用了这个答案并对代码做了一些修改:How can I construct a java.security.PublicKey object from a base64 encoded string?

public static PublicKey getKey(String key){
    try{
        //if base64 is invalid, you will see an error here
        byte[] byteKey = Base64.getDecoder().decode(key);
        //if it is not in RSA public key format, you will see error here as java.security.spec.InvalidKeySpecException
        X509EncodedKeySpec X509publicKey = new X509EncodedKeySpec(byteKey);
        KeyFactory kf = KeyFactory.getInstance("RSA");

        return kf.generatePublic(X509publicKey);
    }
    catch(Exception e){
        e.printStackTrace();
    }

    return null;
}

关于java - 检查 Base64 文本是否是有效的 RSA 公钥 (4096),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61583766/

相关文章:

.net - RsaProtectedConfigurationProvider 与 DataProtectionConfigurationProvider

c# - RSA - 仅使用(!)模数加密?

java - 用Java重写一段C代码构造满二叉树

C# 转换 Base64 -> byte[]

java - 如何添加共享库(设置为使用 "isolated classloader")Websphere?

java - 如何将字节数组转换为 double 组

python - 如何使用python对图像进行base64编码

json - 存储和检索 RSA 加密 key

java - Junit 运行肯定失败

java - 需要在java中同步来自不同数据库的两个表