私は Chat アプリケーションを構築しました。ストリームへの読み書きに and をPrintWriter
使用しています。Scanner
例えば:
Socket socket = new Socket(HOST, PORT);
Scanner IN = new Scanner(socket.getInputStream());
PrintWriter OUT = new PrintWriter(socket.getOutputStream());
String MESSAGE = "";
while(true){
if(IN.hasNext()){
MESSAGE = IN.nextLine();
OUT.println("RESPONSE: " + MESSAGE);
OUT.flush();
}
}
誰かが私のサーバー (ServerSocket) に接続した場合、彼は私がストリームに書き込んだすべてのデータを読み取ることができると考えています。彼がストリームに書き込みを行った場合、最悪のケースになります。
暗号化について考えていました。すべてのデータは暗号化され、「RECEIVER」はデータ ストリームを復号化します。また、ストリームに書き込まれる暗号化された文字列の最初または最後に、保護されたキーを使用する必要があります。また、保護されたキーが有効な場合、文字列は受信者によって読み取られることが許可されます。
これは良い解決策ですか?これは十分に確保されていますか?PrinterWriter と Scanner を使用してストリームを読み書きするだけで十分ですか? InputStreamReader と BufferedStream はどうですか?