2016-01-13 161 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