private void processEncryptDecrypt(int EncDec)
        {
            try
            {
                var tripledes = new TripleDESEncryption();
                key = txtKey.Text.Trim() == "" ? EncDec == ENC?RandomCryptography.Random.GenerateRandomNumber(24) : key : Encoding.UTF8.GetBytes(txtKey.Text.Trim());

                iv = txtIV.Text.Trim() == "" ? EncDec == ENC?RandomCryptography.Random.GenerateRandomNumber(8) : iv : Encoding.UTF8.GetBytes(txtIV.Text.Trim());

                var crypted = EncDec == ENC?tripledes.Encrypt(Encoding.UTF8.GetBytes(txtOriginal.Text), key, iv) : tripledes.Decrypt(Convert.FromBase64String(txtEncrypted.Text), key, iv);

                switch (EncDec)
                {
                case ENC:
                    txtEncrypted.Text = Convert.ToBase64String(crypted);
                    break;

                case DEC:
                    txtDecrypted.Text = Encoding.UTF8.GetString(crypted);
                    break;
                }

                txtHexaKey.Text = BitConverter.ToString(key);
                txtHexaIV.Text  = BitConverter.ToString(iv);
            }
            catch (Exception exc)
            {
                MessageBox.Show("Error!\n" + exc);
            }
        }
Esempio n. 2
0
        private void Encrypt_Click(object sender, EventArgs e)
        {
            var   trippleDes       = new TripleDESEncryption();
            var   key              = trippleDes.GenerateRandomNumber(16);
            var   iv               = trippleDes.GenerateRandomNumber(8);
            Image I                = OImage.Image;
            var   data             = ImageToByteArray(I);
            var   encrypted        = trippleDes.Encrypt(data, key, iv);
            var   encryptedMessage = Encoding.UTF8.GetString(encrypted);

            EncryptedMessage.Text = encryptedMessage;
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            var des = new TripleDESEncryption();
            // Create 3 keys (3 64 bit keys)
            var key = des.GenerateRandomNumbers(24); // use des.GenerateRandomNumbers(16); for 2 64 bit keys
            // Create a initialization vector to prevent repetition of block chipers
            var iv = des.GenerateRandomNumbers(8);

            const string message = "String to encrypt";

            Console.WriteLine("Triple DES Encryption / Decryption Demonstartion");
            Console.WriteLine("------------------------------------------------");

            var encryptedMessage = des.Encrypt(Encoding.UTF8.GetBytes(message), key, iv);
            var decryptedMessage = des.Decrypt(encryptedMessage, key, iv);

            Console.WriteLine();
            Console.WriteLine($" original message  : {message}");
            Console.WriteLine($" encrypted message : {Convert.ToBase64String(encryptedMessage)}");
            Console.WriteLine($" decrypted message : {Encoding.UTF8.GetString(decryptedMessage)}");

            Console.WriteLine();
        }