7

我正在制作一个为用户生成密钥对的应用程序。但在每个设备中,密钥都是相同的。这是我的代码:

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 设备只调用一次密钥生成,因此每个设备中的密钥应该不同.. 谁能告诉我我在这里缺少什么?

4

1 回答 1

16

我相信你只看前几位或最后几位。我以为我也有同样的问题,但是当我看到中间的位时,它们确实不同!

于 2014-08-05T03:43:26.273 回答