這可能是一個新手問題。我生成密鑰對與Java:Java:爲什麼512位RSA KeyPairGenerator返回65個字節的密鑰?
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
SecureRandom random = SecureRandom.getInstance("SHA1PRNG", "SUN");
keyGen.initialize(512, random);
KeyPair keyPair = keyGen.genKeyPair();
RSAPrivateKey privateKey = (RSAPrivateKey)keyPair.getPrivate();
現在,我一直以爲privateKey.getModulus()和privateKey.getPrivateExponent()形成「私鑰」,他們是一樣大的密鑰長度(512位)傳遞給密鑰生成器。但是,privateKey.getPrivateExponent()。toByteArray()有時返回一個64字節(如我所料),有時是65字節的數組。
爲什麼有時候會有65個字節?我在這裏錯過了什麼嗎?
512 =密鑰中的位數。 512/8 = 64字節。不知道爲什麼你得到65字節回來雖然... – 2009-10-15 12:30:53