有没有比cryptico更快的通过javascript解密RSA的方法

时间:2019-04-25 13:12:35

标签: javascript jquery

我正在使用cryptico来加密和解密数据,但是当一次解密3-4个数据时,cryptico可能需要长达10秒钟的时间并冻结浏览器。有没有使用JavaScript解密RSA数据的更快方法?

1 个答案:

答案 0 :(得分:2)

我必须承认cyrto算法不是我的强项。

但是请使用此处的详细信息-> https://github.com/diafygi/webcrypto-examples

我已经敲了一段代码,然后对消息进行解码。

async function test() {

  const key = await window.crypto.subtle.generateKey(
    {
        name: "RSA-OAEP",
        modulusLength: 2048, //can be 1024, 2048, or 4096
        publicExponent: new Uint8Array([0x01, 0x00, 0x01]),
        hash: {name: "SHA-256"},
    },
    false, 
    ["encrypt", "decrypt"]
  );
  
  const data = new TextEncoder().encode("some private message..");
  
  const enc_data = await window.crypto.subtle.encrypt(
    { name: "RSA-OAEP" },
    key.publicKey,
    data 
  );
  
  const dec_data = await window.crypto.subtle.decrypt(
    { name: "RSA-OAEP" },
    key.privateKey, 
    enc_data
  );
  
  const decoded = new TextDecoder().decode(dec_data);
  
  console.log(decoded);
}   

test();