Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

120
Views
descifrar un ArrayBuffer con sjcl.decrypt que no es un json

Antes de cifrar mis datos, los puse en este formato:

 let a = new TextEncoder().encode(JSON.stringify(data))

Después del cifrado, lo he codificado para almacenarlo de esa manera:

 let b = new Uint8Array(a)

y finalmente lo convirtió en base64.

Ahora quiero descifrar mis datos con la función de biblioteca sjcl.decrypt .

  • Tengo mi privateKey como cadena JSON.
  • Tengo mi cipher como Uint8Array .
  • Puse el cipher en su códec original después del cifrado con: new TextDecoder().decode(cipher)

¿Ahora que? sjcl lanza, json decode: this isn't json! . Entendido, porque mis datos cifrados son un ArrayBuffer.

Entonces mi pregunta: ¿es posible descifrar mi caso con sjcl? Al buscar en la fuente sjcl, parece que el descifrado necesita un JSON. Pero no tengo JSON.

No es posible editar el proceso de encriptación.

¡Gracias!

------------ ACTUALIZAR ------------

Así es como se genera el keyPair:

 await window.crypto.subtle.generateKey({ name: "RSA-OAEP", modulusLength: 2048, publicExponent: new Uint8Array([0x01, 0x00, 0x01]), hash: { name: "SHA-256" }, }, true, ["encrypt", "decrypt"]);

Luego, la clave se exporta así (recibo esa clave):

 await window.crypto.subtle.exportKey( "jwk", keyPair.privateKey );

Cifrado con clave pública:

 await window.crypto.subtle.encrypt({ name: "RSA-OAEP" }, publicKey, data);

En mi aplicación no tengo acceso a WebCrypto Api. Probé la biblioteca sjcl, pero parece que el cifrado/descifrado rsa no es posible. Probado con la biblioteca jsrsasign, pero no admite claves exportadas jwk. ¿Puedo convertir jwk a pkcs8 ?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!