J'utilise JSBN pour crypter/décrypter des données en utilisant des paires de clés publiques/privées. Cela fonctionne très bien pour les données de texte, y compris les chaînes hexadécimales.Comment crypter des clés Crypto-JS avec JSBN?
Mon problème est maintenant j'ai des données binaires, en particulier Crypto-JS Word Arrays, que j'ai besoin de crypter avec une clé publique et d'envoyer vers une autre plate-forme.
considèrent donc ceci:
var key = CryptoJS.lib.WordArray.random(256/8);
var rsa = new RSAKey();
rsa.setPublic(modulus, exponent);
var encrypted_key = rsa.encrypt(key.toString());
Cela fonctionne, mais cela signifie « encrypted_key » est enfait une chaîne hexagonale qui a été chiffré, pas la clé réelle. J'ai besoin de crypter la clé actuelle.
Je vois deux défis ici:
1) Je ne suis pas sûr à 100% comment obtenir les octets réels d'un CryptoJS.lib.WordArray - même si cela ne semble pas totalement insurmontable.
2) Je ne sais pas s'il est même possible de chiffrer des données binaires en utilisant JSBN. J'adorerais des pointeurs pour comprendre comment le faire.
Des pensées?
Bri lliant! Bien sûr, l'extrémité opposée - pkcs1unpad2 - devra être modifiée de manière similaire (ou étendue). –