2011-11-14 156 views
1

我正在学校项目中,我必须演示RSA。在序列化输出和BigInteger之间转换的问题

我使用相当基本的ObjectOutputStream序列化对象并将其作为字节数组返回。

的RSA方法我使用的是非常相似的一个found here.

在从序列字节数组,并在RSA加密BigIntegers之间的转换,就会出现问题。

查看字节显示的事实是,在字节数组中有几个负值,说明有问题的转换。

我该如何解决这个问题?

在此先感谢!

回答

1

正如问题和tangens的答案中所述,我无法对常规序列化对象执行加密。然而,使用XMLEncoder类,我可以创建一个没有奇数非ASCII可转换数字的XML序列化。

接下来的问题是我无法加密比RSA加密系统的modulo part (or n)长的任何东西,而没有将明文分解为适合的部分。

我希望这会最终帮助别人。

0

您应该使用http://download.oracle.com/javase/6/docs/api/java/math/BigInteger.html#toByteArray()而不是序列化BigInteger。序列化将为您提供一种仅适用于反序列化的格式,但不适用于进一步的计算。

+0

感谢您的回复!对不起,我没有让自己完全清楚,但我没有序列化BigInteger。鉴于你答案的最后一部分,我试图做的没有道理。你给了我一个想法,我会在明天尝试工作 - 再次感谢! :d –