出现的问题:
首先声明下,两种rsa加密方式都没有填充(NOPADDING)
同一个明文,同一个Public Key,都是rsa_nopadding,
用openssl rsa 出来的密文, 始终与javascript rsa 出来的密文不同。
不知何故,求大家帮忙看看。
JS加密字符串的代码:
var
m =
"BAF11D465A4915BEF8C13862873A8C8BC5DB4473106254E186F25BD74DC901F2336B838B62850CEA97E7C96EBFD7F15F4CA902F0CF33B2415898956FBF1A10BABB58EB3FAB7706BD16CBC1F24E10E7BCE016C8F1446B081B232C13DB4178D48A9ACA579DFC343F2420D670D03BFB15F9EABA8471077EE9B68D022BBDA3DEB63F"
;
setMaxDigits(131);
var
key =
new
RSAKeyPair(
"10001"
,
""
, m);
var
str =
"abc"
;
var
ret = encryptedString(key ,str);
Javascript 的 rsa 实现:
JS文件地址是:http://openapi.baidu.com/static/oauth/common/js/RSA_32b3899.js
其实就是这个:http://www.ohdave.com/rsa/
应当是加密原理一样,但模式不一样,详细分析下源码就会明白了
如果解密后对应的明文是一样的话,那应该是opensll和js对RSA的加密方法不一样。但是原理肯定是一样的。
楼主问题解决了吗,我也有同样的问题