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設備,因爲這個原因,在每個設備的密鑰應該是不同的..誰能告訴我我在這裏失蹤了什麼?
這種情況也發生在我身上!任何解決方案 – necromancer