【问题标题】:Problems converting between serialization output and BigInteger在序列化输出和 BigInteger 之间转换的问题
【发布时间】:2011-11-14 20:21:34
【问题描述】:

我正在进行一个学校项目,我必须在其中演示 RSA。

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

我使用的 RSA 方法与 found here. 非常相似

问题出现在序列化的字节数组和RSA加密中的BigIntegers之间的转换。

查看字节显示字节数组中有几个负值,解释了有问题的转换。

我该如何解决这个问题?

提前致谢!

【问题讨论】:

    标签: java serialization bytearray rsa biginteger


    【解决方案1】:

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

    下一个问题是,如果不将明文分解成合适的部分,我无法加密比 RSA 加密系统的 modulo part (or n) 更长的任何内容。

    我希望这最终会对其他人有所帮助。

    【讨论】:

      【解决方案2】:

      您应该使用http://download.oracle.com/javase/6/docs/api/java/math/BigInteger.html#toByteArray() 而不是序列化 BigInteger。序列化会给你一个只适合反序列化的格式,而不是进一步的计算。

      【讨论】:

      • 感谢您的回复!抱歉,我没有让自己完全清楚,但我没有序列化 BigInteger。不过,鉴于您回答的最后一部分,我试图做的事情没有意义。你给了我一个想法,我明天会尝试工作 - 再次感谢! :D
      猜你喜欢
      • 2021-10-29
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 2011-03-28
      • 1970-01-01
      • 2019-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多