中易网

java中如何得到公钥的key size

答案:3  悬赏:50  
解决时间 2021-01-12 05:45
  • 提问者网友:杀手的诗
  • 2021-01-11 20:37
java中如何得到公钥的key size
最佳答案
  • 二级知识专家网友:冷風如刀
  • 2021-01-11 21:15
接你代码后面
String algorithm = publickey.getAlgorithm(); // 获取算法
KeyFactory keyFact = KeyFactory.getInstance(algorithm);
BigInteger prime = null;
if ("RSA".equals(algorithm)) { // 如果是RSA加密
RSAPublicKeySpec keySpec = (RSAPublicKeySpec)keyFact.getKeySpec(publickey, RSAPublicKeySpec.class);
prime = keySpec.getModulus();
} else if ("DSA".equals(algorithm)) { // 如果是DSA加密
DSAPublicKeySpec keySpec = (DSAPublicKeySpec)keyFact.getKeySpec(publickey, DSAPublicKeySpec.class);
prime = keySpec.getP();
}
int len = prime.toString(2).length(); // 转换为二进制,获取公钥长度
全部回答
  • 1楼网友:撞了怀
  • 2021-01-11 23:33
我暂时保留我的看法!
  • 2楼网友:你哪知我潦倒为你
  • 2021-01-11 21:58
PublicKey的toString()的开头是这样的
Sun RSA public key, 1024 bits
modulus: 990645334079840363710713617513

所以,也能知道是1024 bits
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息