2011-11-14 155 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 –