java - Android KeyPairGenerator 始终生成相同的 key 对

标签 java android key-pair key-generator

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

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

显示生成的 key 代码是:

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

最佳答案

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

关于java - Android KeyPairGenerator 始终生成相同的 key 对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24352923/

相关文章:

amazon-web-services - AWS key 对更换

java - 如何在 Spring 3/Thymeleaf 中显示带有参数的本地化消息

java - 为共享首选项自动生成 getter setter

android - 为面向 SDK 22+ 的 Android 库禁用 ART 运行时 (vmSafeMode) 和 dex2oat?

Android:如何在滚动结束时隐藏按钮

openssl - 使用 OpenSSL 生成公共(public) ed25519 key

java - `org.springframework.transaction.annotation.Transactional` 的行为

java - 将 MySQL 连接到 Java 客户端/服务器应用程序

java - 房间数据库 : RecyclerView does not update after delete data in detail activity

amazon-web-services - 如何将 key 从桌面导入到 cloudformation 模板?