RSA加密的问题,和java加密出来的结果不一样,请问问题出在哪里.

ghosthjt ghosthjt 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
公钥数据:
0093a065fbf22ba7be1c28a5a31036956fee8f2912e1f8e06c91674c3057bee666828
f656befd5434a2b7d58f62637972731b45d087d23a7747e8417b3c6a2aa8b590c3ae5
aafa90e97979569fadaa6f6bac556f04f897afefb9040067abf259f4d37f487fbea21
a55b89be203f3cedfd45517d5dfab52096119fdfb0c48d4bbed
待加密数据:
feff00340039003000380063003600380062006400640061003100660061006500340
037003700660039006500310031006500650038006200610063003800390032
我的写法是:

m_keyarr = 上面的公钥数据按字符串转成bytearray,比如0093a065转成bytearray之后内存里的值是00 93 a0 65 ...这样
m_dataarr = 上面的待加密数据按字符串转成bytearray;
cli::array<Byte>^ Exponent = {1,0,1};
RSACryptoServiceProvider^ RSA = gcnew RSACryptoServiceProvider;
RSAParameters RSAKeyInfo;
RSAKeyInfo.Modulus = m_keyarr;
RSAKeyInfo.Exponent = Exponent;
RSA->ImportParameters(RSAKeyInfo);
cli::array<Byte>^ res1 = RSA->Encrypt(m_dataarr, false);
我转出的结果有129个字节,java中转出来只有128字节,并且两者内容完全不对.
可以确认的是两者传入的数据和公钥完全一致.
是什么原因呢?要怎么做才能一样?
...全文

相关推荐

评论 9
收藏 已收藏
分享
返回顶部
ghosthjt
.NET Framework 17,748 成员 24,324 内容