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); } }
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; }
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(); }