小编典典
RSA密钥由模量和指数组成。密钥大小是指模数中的位。因此,即使没有任何编码开销,您也将需要超过128个字节来存储1024位密钥。
getEncoded()返回ASN.1 DER编码的对象。私钥甚至包含CRT参数,因此非常大。
要获取密钥大小,请执行以下操作,
System.out.println("Key size = " + publicKey.getModulus().bitLength());
这是相关的ASN.1对象,
RSAPrivateKey ::= SEQUENCE {
version Version,
modulus INTEGER, -- n
publicExponent INTEGER, -- e
privateExponent INTEGER, -- d
prime1 INTEGER, -- p
prime2 INTEGER, -- q
exponent1 INTEGER, -- d mod (p-1)
exponent2 INTEGER, -- d mod (q-1)
coefficient INTEGER, -- (inverse of q) mod p
otherPrimeInfos OtherPrimeInfos OPTIONAL
}
RSAPublicKey ::= SEQUENCE {
modulus INTEGER, -- n
publicExponent INTEGER -- e
}
2020-09-24