public CreateEncryptor ( ) : ICryptoTransform | ||
return | ICryptoTransform |
using System; using System.IO; using System.Security.Cryptography; class TripleDESExample { static void Main() { byte[] key = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x20, 0x21, 0x22, 0x23, 0x24 }; byte[] iv = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 }; using(TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider()) { tdes.Key = key; tdes.IV = iv; string original = "This is a secret message!"; // Encrypt the string byte[] encrypted = EncryptStringToBytes(original, tdes.Key, tdes.IV); // Decrypt the string string roundtrip = DecryptStringFromBytes(encrypted, tdes.Key, tdes.IV); Console.WriteLine("Original: {0}", original); Console.WriteLine("Round Trip: {0}", roundtrip); } } static byte[] EncryptStringToBytes(string plainText, byte[] Key, byte[] IV) { byte[] encrypted; using(TripleDESCryptoServiceProvider tdesAlg = new TripleDESCryptoServiceProvider()) { tdesAlg.Key = Key; tdesAlg.IV = IV; ICryptoTransform encryptor = tdesAlg.CreateEncryptor(tdesAlg.Key, tdesAlg.IV); using(MemoryStream msEncrypt = new MemoryStream()) { using(CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write)) { using(StreamWriter swEncrypt = new StreamWriter(csEncrypt)) { swEncrypt.Write(plainText); } encrypted = msEncrypt.ToArray(); } } } return encrypted; } static string DecryptStringFromBytes(byte[] cipherText, byte[] Key, byte[] IV) { string plaintext = null; using(TripleDESCryptoServiceProvider tdesAlg = new TripleDESCryptoServiceProvider()) { tdesAlg.Key = Key; tdesAlg.IV = IV; ICryptoTransform decryptor = tdesAlg.CreateDecryptor(tdesAlg.Key, tdesAlg.IV); using(MemoryStream msDecrypt = new MemoryStream(cipherText)) { using(CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)) { using(StreamReader srDecrypt = new StreamReader(csDecrypt)) { plaintext = srDecrypt.ReadToEnd(); } } } } return plaintext; } }
using System; using System.Security.Cryptography; class TripleDESExample { static void Main(string[] args) { byte[] key = GenerateKey(); Console.WriteLine("Random Key:"); foreach (byte b in key) { Console.Write("{0:X2} ", b); } } static byte[] GenerateKey() { using(TripleDESCryptoServiceProvider tdesAlg = new TripleDESCryptoServiceProvider()) { tdesAlg.GenerateKey(); return tdesAlg.Key; } } }In this example, a random encryption key is generated using the GenerateKey method of the TripleDESCryptoServiceProvider class. The key is then displayed as a hexadecimal string. Package library: System.Security.Cryptography.