以下方法可以由已知认证随机数获取公私钥的length
byte[] key = EncodeUtils.hexStringToByte("随机数");
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(key);
// 生成私钥
KeyFactory keyFactory = KeyFactory.getInstance("RSA");//DSA
PrivateKey privateKey = keyFactory.generatePrivate(keySpec);
RSAPrivateKeySpec keySpec1 = keyFactory.getKeySpec(privateKey, RSAPrivateKeySpec.class);//RSAPublicKeySpec(DSAPublicKeySpec)
BigInteger modulus = keySpec1.getModulus()
int length = modulus.toString(2).length();//转换为二进制
System.out.println(length);
公钥和 DSA获取方式相同