我一直致力于使用OpenSSL对Ruby中的数据进行加密,并使用JavaScript Forge库在JavaScript中解密数据。
(不安全,但这只是用于研究)分发密钥的方法工作正常,即我可以在Ruby中生成密钥并将它们放入PEM格式,将PEM传递给JavaScript并在JavaScript中恢复工作密钥但是,使用相同的密钥加密相同的字符串会产生两种不同的结果,因此两者之间的编码/解码显然不起作用。
这样做有好办法吗?
另一个问题是,将二进制数据字符串从Ruby传递给JavaScript而不会出现不兼容的类型错误需要进行某种转换,例如,将加密数据转换为十六进制,但在伪造库中使用此类信息证明是困难的。
答案 0 :(得分:2)
我在原来的问题中实际上解决了我自己的问题
我只是做得不对
为了将来参考,如果您使用ruby openssl RSA加密并希望将其传递给javascript,我建议将https://github.com/digitalbazaar/forge库用于JS端,
第二,使用.unpack('H*')
Forge PKI库有一个.hexToBytes()
函数,然后您可以使用forge .decrypt
方法并取回您的开始