Example #1
0
        public string Encrypt(string text, byte[] key)
        {
            byte[] message = Encoding.UTF8.GetBytes(text);
            int    toPad   = message.Length % BlockSize;

            byte[] bytes;
            if (toPad == 0)
            {
                bytes = message;
            }
            else
            {
                toPad = BlockSize - message.Length % BlockSize;
                bytes = new byte[message.Length + toPad];
                for (int i = 0; i < bytes.Length; i++)
                {
                    if (i < message.Length)
                    {
                        bytes[i] = message[i];
                    }
                }
            }

            object sessionKeys = MakeKey(key);

            StringBuilder stringBuilder = new StringBuilder();

            for (int i = 0; i < bytes.Length / BlockSize; i++)
            {
                byte[] enc = BlockEncrypt(bytes, BlockSize * i, sessionKeys);
                stringBuilder.Append(ByteToHex(enc));
            }

            return(Converts.StringToBinary(stringBuilder.ToString()));
        }
Example #2
0
 private void tbMessage_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Enter)
     {
         if (client != null)
         {
             string msg = Converts.BinaryToString(serpent.Encrypt(tbMessage.Text, Convert.FromBase64String(KeyToSerpent)));
             msg += KeyToSerpent;
             client.SendMsg(msg, ID);
             tbMessage.Text = string.Empty;
         }
     }
 }