Android KeyPairGenerator génère toujours la même paire de clés

Je crée une application qui génère une paire de clés pour un utilisateur. Mais dans chaque appareil, les clés sont identiques. Voici mon code:

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; } 

Et pour montrer le code clé généré est:

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

La génération de clé est appelée une seule fois pour chaque appareil Android, et pour cette raison, les clés de chaque appareil devraient être différentes.