RSA .NET加密Java解密

RSA .NET加密Java解密,第1张

RSA .NET加密Java解密

Java解密代码的最后几行没有意义。这些行是:

byte[] base64String = base64.depre(enpredString);byte[] plainBytes = new String(base64String).getBytes("UTF-8");byte[] cipherData = cipher.doFinal(plainBytes);System.out.println(cipherData);return cipherData.toString();

您必须反转在.NET中用于加密的步骤的顺序。首先,您应该对base64编码的字符串进行解码以获得密码字节。您这样做了,但是将结果标签为

base64String
。您可能应该将此结果称为
cipherData
。其次,您需要解密cipherData以获得纯文本。第三,您应该使用带有两个参数的Charset的两个参数的String构造函数从plainbytes创建一个字符串。这是代码的样子或接近它的样子。

byte[] cipherData = base64.depre(enpredString);byte[] plainBytes = cipher.doFinal(cipherData);return new String(plainBytes, "UTF-8");

最终,在Java中,每个对象都有一个toString()方法,但它并不总是能做您想要的。对于数组,toString()方法仅返回该数组的对象ID的表示形式,相当于JVM的内存地址。

编辑:

我想念您在解密代码中还使用了错误的密钥。您正在使用RSA公钥,但必须改为使用RSA私钥。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5601190.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存