Android KeyPairGenerator始终生成相同的密钥对

  发布于 2023-01-08 10:36

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

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

1 个回答
  • 我相信你只关注前几位或后几位.我以为我也遇到了同样的问题但是当我看到中间的位时,它们确实是不同的!

    2023-01-08 10:39 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有