void Send() { if (txbMessage.Text != string.Empty && cmbIP.SelectedItem.ToString() != string.Empty && cmbIP.SelectedItem.ToString() != "none") { string publicKey = ChoosePublicKey(cmbIP.SelectedItem.ToString()); string cypher = Convert.ToBase64String(RSA_Crypto.Encrypt(txbMessage.Text, publicKey)); //client.Send(Serialize(client.LocalEndPoint.ToString() + "|" + cmbIP.SelectedItem.ToString() + "| " + txbMessage.Text)); client.Send(Serialize(client.LocalEndPoint.ToString() + "|" + cmbIP.SelectedItem.ToString() + "| " + cypher)); } SystemSounds.Beep.Play(); }
void SendText() { if (txbMessage.Text != "") { string msg = txbMessage.Text; if (SelectedClient != null) { // mã hoá và kí lên bản băm của tin nhắn và gửi string publicKey = SelectedClient.PublicKey; string signature = Convert.ToBase64String(RSA_Crypto.SignatureGen(msg)); string cypher = Convert.ToBase64String(RSA_Crypto.Encrypt(msg, publicKey)); clientSocket.Send(Serialize(clientSocket.LocalEndPoint.ToString() + "|" + SelectedClient.EndPoint + "|Text" + SelectedClient.MsgIndex + "|" + cypher + "|" + signature)); // lưu lại tin nhắn đã gửi ở dạng đã băm MD5 md5 = MD5.Create(); string hashedMsg = Convert.ToBase64String(md5.ComputeHash(Encoding.UTF8.GetBytes(msg))); Message message = new Message(SelectedClient.MsgIndex, hashedMsg); SelectedClient.SentMessages.Add(message); } // hiển thị tin nhắn DisplayText(txbMessage.Text, "send", SelectedClient.MsgIndex.ToString(), SelectedClient); // Chỉ số của tin nhắn của client tăng SelectedClient.MsgIndex++; } }
void Send() { if (txbMessage.Text != string.Empty && cmbIP.SelectedItem.ToString() != string.Empty && cmbIP.SelectedItem.ToString() != "none") { string publickey = ""; for (int i = 0; i < index; i++) { if (cmbIP.SelectedItem.ToString() == IP_PK[i, 0]) { publickey = IP_PK[i, 1]; break; } } string cypher = Convert.ToBase64String(RSA_Crypto.Encrypt(txbMessage.Text, publickey)); //client.Send(Serialize(client.LocalEndPoint.ToString() + "|" + cmbIP.SelectedItem.ToString() + "| " + txbMessage.Text)); client.Send(Serialize(client.LocalEndPoint.ToString() + "|" + cmbIP.SelectedItem.ToString() + "| " + cypher)); } }