【发布时间】:2013-05-21 22:34:27
【问题描述】:
我正在使用JSBN 使用公钥/私钥对加密/解密数据。它适用于文本数据,包括十六进制字符串。
我的问题是我现在有二进制数据,特别是 Crypto-JS 字数组,我需要用公钥加密并发送到另一个平台。
所以考虑一下:
var key = CryptoJS.lib.WordArray.random(256/8);
var rsa = new RSAKey();
rsa.setPublic(modulus, exponent);
var encrypted_key = rsa.encrypt(key.toString());
这可行,但这意味着“encrypted_key”实际上是一个已加密的十六进制字符串,而不是实际的密钥。我需要加密实际的密钥。
所以我在这里看到了两个挑战:
1) 我不能 100% 确定如何从 CryptoJS.lib.WordArray 中获取实际字节——尽管这似乎并非完全不可克服。
2) 我不知道是否可以使用 JSBN 加密二进制数据。我很想知道如何做到这一点。
有什么想法吗?
【问题讨论】:
标签: javascript rsa cryptojs jsbn