2014-06-22 71 views
6

我正在製作一個應用程序,爲用戶生成一個密鑰對。但在每個設備中,密鑰都是相同的。這裏是我的代碼:Android KeyPairGenerator總是生成相同的密鑰對

public KeyPair generateKeys() { 
    KeyPair keyPair = null; 
    try { 
     // get instance of rsa cipher 
     KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA"); 
     keyGen.initialize(1024);   // initialize key generator 
     keyPair = keyGen.generateKeyPair(); // generate pair of keys 
    } catch(GeneralSecurityException e) { 
     System.out.println(e); 
    } 
    return keyPair; 
} 

,並顯示出在密鑰產生的代碼是:

KeyPair keyPair = rsa.generateKeys(); 

byte[] publicKey = keyPair.getPublic().getEncoded(); 
byte[] privateKey = keyPair.getPrivate().getEncoded(); 
privateText.setText(Base64.encodeToString(privateKey, Base64.NO_WRAP)); 
publicText.setText(Base64.encodeToString(publicKey, Base64.NO_WRAP)); 

密鑰生成被調用一次每個Android設備,因爲這個原因,在每個設備的密鑰應該是不同的..誰能告訴我我在這裏失蹤了什麼?

+0

這種情況也發生在我身上!任何解決方案 – necromancer

回答

10

我相信你只看最前幾位或最後幾位。我還以爲我也有同樣的問題,但是當我看到中間的那些東西時,他們確實不一樣!

相關問題