📄 inputmessage.java
字号:
/**
*
*/
package RSA;
import RSA.Encipher;
import java.io.*;
import java.math.BigInteger;
import RSA.OutputMessage;
/**
* @author Administrator
*
*/
public class InputMessage {
InputStream inputStream = System.in;
StringBuffer messageBuffer = new StringBuffer();
StringBuffer cipherBuffer = new StringBuffer();
byte[] inputbyteStream = new byte[20];
Encipher messagecipher = new Encipher();
OutputMessage outputMessage;
private BigInteger PrimeP;
private BigInteger PrimeQ;
private BigInteger PublicKey;
public InputMessage(BigInteger primeP, BigInteger primeQ, BigInteger publicKey){
this.PrimeP = primeP;
this.PrimeQ = primeQ;
this.PublicKey = publicKey;
messagecipher.init(primeP, primeQ, publicKey);
inputmessage();
}
public void inputmessage(){
System.out.println("\nPlease input the Message and click enter to end:");
try{
inputStream.read(inputbyteStream);
}catch(IOException e){
e.printStackTrace();
}
String messagestring = new String(inputbyteStream);
for(int i=0;i<messagestring.length();i++)
{
int m = (int) (messagestring.charAt(i)-64);
if(m != -32)
{
if(m>9)
{
messageBuffer.append(m);
}
else
{
messageBuffer.append(0);
messageBuffer.append(m);
}
}
else
{
messageBuffer.append("00");
}
}
//System.out.println("\n messageBuffer="+messageBuffer);
for(int Bigi=0;Bigi<messageBuffer.length();)
{
String messageBufferString = new String(messageBuffer.substring(Bigi, Bigi+4)).trim();
//System.out.println("\nMessageBufferString="+messageBufferString);
BigInteger messageBigInteger = new BigInteger(messageBufferString);
BigInteger returnMessageBigInteger = messagecipher.ComputeEncipherValue(messageBigInteger);
cipherBuffer.append(returnMessageBigInteger+" ");
Bigi += 4;
}
System.out.println("\nThe Encipher of the Plaint Message is:"+cipherBuffer.toString());
outputMessage = new OutputMessage(this.PrimeP, this.PrimeQ, this.PublicKey, cipherBuffer);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -