2016-01-13 76 views
-1

我正在使用密碼加密密碼。首先,我會在輸入密碼後設置一個rsa公鑰。但是我的結果並不等於java和javascript代碼。有沒有辦法或樣品。你可以幫幫我嗎?謝謝。在java中使用RSA公鑰設置密鑰

這裏是我的javascript代碼

var rsa = new RSAKey(); 
rsa.setPublic(rasn, rase); 
var res = rsa.encrypt("myPassword"); 
return restotal; 

這裏是我的Java代碼

RSA1 rsa = new RSA1(new BigInteger(rasn.getBytes()),new BigInteger(rase.getBytes()));  
String text1 = "myPassword"; 
BigInteger plaintext = new BigInteger(text1.getBytes()); 
BigInteger ciphertext = rsa.encrypt(plaintext); 
System.out.println(ciphertext); 

回答

2

不知道你的RSA1類究竟,但你可以檢查一個很好的樣本here

您的結果將會是永不是相同的,因爲在RSA加密之前,您的數據將被附加稱爲padding的隨機字節。

如果您想測試您的加密,請使用您的私鑰解密結果並查看它是否有效。如果你願意,你可以在javascript和java之間做到這一點。

+0

感謝您的回覆,我嘗試執行從java到我的調制解調器接口的post方法,調制解調器生成2個變量n和e。當它創建公鑰時使用它們,我得到它們並在我的java代碼中生成一個加密密碼。所以他們都必須是相同的沒有呢?但我無法將JavaScript rsa轉換爲java rsa – enes

+0

@enes我不確定你想要做什麼。你是否在'javascript'中生成密鑰對,並且想要使用公鑰來加密客戶端java中的密碼?你的意思是什麼?rsa *,密鑰,加密的消息或其他什麼?你需要更具體。 – vnov