以Crypto-Js获取RSA密钥

问题描述 投票:0回答:1

我想使用Crypto Js生成公钥,我在每个地方都用Google进行了搜索,但是找不到答案。在crypto-js的文档中,也没有适当提及如何在crypto-js中使用RSA公开。

我来自java背景,我们很容易生成私钥和公钥

KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
        keyPairGenerator.initialize(2048);
        KeyPair keyPair = keyPairGenerator.generateKeyPair();
        Map<String, Object> keys = new HashMap<String, Object>();
        String secretPublicKey = "fdfdfdfd";// just dummy
        KeyFactory keyFactory =null;
        keyFactory = KeyFactory.getInstance("RSA");
        X509EncodedKeySpec keySpec = new X509EncodedKeySpec(android.util.Base64.decode(secretPublicKey, android.util.Base64.DEFAULT));
        keyFactory = KeyFactory.getInstance("RSA");
        PublicKey publicKey = keyFactory.generatePublic(keySpec);
        Log.e("publicKey----->>",""+publicKey);

但是很难在crypto-js中找到公钥。希望任何人都能帮助我。

reactjs cryptojs
1个回答
0
投票

我想您是指Node.js中的加密模块。有一个功能应该可以执行您想做的事情:https://nodejs.org/api/crypto.html#crypto_crypto_generatekeypairsync_type_options

这是从文档中摘录的一小段代码:

const { generateKeyPairSync } = require('crypto');
const { publicKey, privateKey } = generateKeyPairSync('rsa', {
  modulusLength: 4096,
  publicKeyEncoding: {
    type: 'spki',
    format: 'pem'
  },
  privateKeyEncoding: {
    type: 'pkcs8',
    format: 'pem',
    cipher: 'aes-256-cbc',
    passphrase: 'top secret'
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.