I would like to encrypt my message when sending to the server from the client, how can I do this?
customer
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Sockets; using System.Threading; namespace SocketClient { public partial class SocketClient : Form { System.Net.Sockets.TcpClient clientSocket = new System.Net.Sockets.TcpClient(); NetworkStream serverStream = default(NetworkStream); string readData = null; public SocketClient() { InitializeComponent(); } private void getMessage() { while (true) { serverStream = clientSocket.GetStream(); int buffSize = 0; byte[] inStream = new byte[10025]; buffSize = clientSocket.ReceiveBufferSize; serverStream.Read(inStream, 0, buffSize); string returndata = System.Text.Encoding.ASCII.GetString(inStream); readData = "" + returndata; msg(); } } private void msg() { if (this.InvokeRequired) this.Invoke(new MethodInvoker(msg)); else textDisplay.Text = textDisplay.Text + Environment.NewLine + " >> " + readData; } private void buttonConnect_Click(object sender, EventArgs e) { readData = "Connected to NYP Chat Server ..."; msg();
server
using System; using System.Threading; using System.Net.Sockets; using System.Text; using System.Collections; namespace ConsoleApplication1 { class Program { public static Hashtable clientsList = new Hashtable(); static void Main(string[] args) { //TcpListener serverSocket = new TcpListener(portFromAppConfig); TcpListener serverSocket = new TcpListener(9999); TcpClient clientSocket = default(TcpClient); int counter = 0; serverSocket.Start(); Console.WriteLine("Welcome to NYP Chat Server "); counter = 0; while ((true)) { counter += 1; clientSocket = serverSocket.AcceptTcpClient(); byte[] bytesFrom = new byte[10025]; string dataFromClient = null; NetworkStream networkStream = clientSocket.GetStream(); networkStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize); dataFromClient = System.Text.Encoding.ASCII.GetString(bytesFrom); dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$")); clientsList.Add(dataFromClient, clientSocket); broadcast(dataFromClient + " Connected ", dataFromClient, false); Console.WriteLine(dataFromClient + " has join the chat room "); handleClient client = new handleClient(); client.startClient(clientSocket, dataFromClient, clientsList); } clientSocket.Close(); serverSocket.Stop(); Console.WriteLine("exit"); Console.ReadLine(); } public static void broadcast(string msg, string uName, bool flag) { foreach (DictionaryEntry Item in clientsList) { TcpClient broadcastSocket; broadcastSocket = (TcpClient)Item.Value; NetworkStream broadcastStream = broadcastSocket.GetStream(); Byte[] broadcastBytes = null; if (flag == true) { broadcastBytes = Encoding.ASCII.GetBytes(uName + " says : " + msg); } else { broadcastBytes = Encoding.ASCII.GetBytes(msg); } broadcastStream.Write(broadcastBytes, 0, broadcastBytes.Length); broadcastStream.Flush(); } } //end broadcast function }//end Main class public class handleClient { TcpClient clientSocket; string clNo; Hashtable clientsList; public void startClient(TcpClient inClientSocket, string clineNo, Hashtable cList) { this.clientSocket = inClientSocket; this.clNo = clineNo; this.clientsList = cList; Thread ctThread = new Thread(doChat); ctThread.Start(); } private void doChat() { int requestCount = 0; byte[] bytesFrom = new byte[10025]; string dataFromClient = null; Byte[] sendBytes = null; string serverResponse = null; string rCount = null; requestCount = 0; while ((true)) { try { requestCount = requestCount + 1; NetworkStream networkStream = clientSocket.GetStream(); networkStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize); dataFromClient = System.Text.Encoding.ASCII.GetString(bytesFrom); dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$")); Console.WriteLine("From client - " + clNo + " : " + dataFromClient); rCount = Convert.ToString(requestCount); Program.broadcast(dataFromClient, clNo, true); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } }//end while }//end doChat } //end class handleClient }//end namespace
source share