2012-12-06 208 views
0

我想用java實現RSA算法。
我明白數學算法,我不明白的是如何將字符串的消息轉換爲大整數的密文。用java實現RSA算法

  • 我是否將所有消息或密文加密和解密爲一個大整數?
  • 如何將字符串轉換爲整數和整數字符串?
+1

'BigInteger(String val)'??因爲從明文轉換爲密文是整個RSA算法。 – UmNyobe

+1

「如何將字符串消息轉換爲大整數密文」Soo,基本上你問「我該如何加密它?」你真的需要改寫你的問題。這非常含糊。一個提示:不要使用'BigInteger'來存儲你的加密輸出。使用'byte []'。 – Brian

+2

這個問題似乎對我很清楚,我甚至有答案,所以我投票重新開放。 –

回答

2

我認爲典型的方法是將一個字符串轉換爲字節數組(Why does byteArray have a length of 22 instead of 20?),然後把字節數組轉換成你想要的數字類型(Convert a byte array to integer in java and vice versa),即INT,長雙,...

+0

,然後分別爲每個字節應用rsa算法?爲每個字符?字?信息?那是我不明白的部分。 –

+1

然後將RSA應用於每個整數。所以,一旦你得到你的字符串,說16個字節的數據,將其轉換成4個整數。您將RSA應用於您的4個整數,然後將這4個整數轉換爲您的加密消息的字節數組。 –