using System.Security.Cryptography;using System.IO;public static string Encrypt(string clearText, string Password){byte[] clearBytes = System.Text.Encoding.Unicode.GetBytes(clearText);PasswordDeriveBytes pdb = new PasswordDeriveBytes(Password,new byte[] {0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d,0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76});// PasswordDeriveBytes is for getting Key and IV.// Using PasswordDeriveBytes object we are first getting 32 bytes for the Key (the default//Rijndael key length is 256bit = 32bytes) and then 16 bytes for the IV.// IV should always be the block size, which is by default 16 bytes (128 bit) for Rijndael.byte[] encryptedData = Encrypt(clearBytes, pdb.GetBytes(32), pdb.GetBytes(16));return Convert.ToBase64String(encryptedData);}
public static byte[] Encrypt(byte[] clearData, byte[] Key, byte[] IV){MemoryStream ms = new MemoryStream();Rijndael alg = Rijndael.Create();// Algorithm. Rijndael is available on all platforms.alg.Key = Key;alg.IV = IV;CryptoStream cs = new CryptoStream(ms, alg.CreateEncryptor(), CryptoStreamMode.Write);//CryptoStream is for pumping our data.cs.Write(clearData, 0, clearData.Length);cs.Close();byte[] encryptedData = ms.ToArray();return encryptedData;}
public static string Decrypt(string cipherText, string Password){byte[] cipherBytes = Convert.FromBase64String(cipherText);PasswordDeriveBytes pdb = new PasswordDeriveBytes(Password,new byte[] {0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65,0x64, 0x76, 0x65, 0x64, 0x65, 0x76});byte[] decryptedData = Decrypt(cipherBytes, pdb.GetBytes(32), pdb.GetBytes(16));return System.Text.Encoding.Unicode.GetString(decryptedData);}
public static byte[] Decrypt(byte[] cipherData, byte[] Key, byte[] IV){MemoryStream ms = new MemoryStream();Rijndael alg = Rijndael.Create();alg.Key = Key;alg.IV = IV;CryptoStream cs = new CryptoStream(ms,alg.CreateDecryptor(), CryptoStreamMode.Write);cs.Write(cipherData, 0, cipherData.Length);cs.Close();byte[] decryptedData = ms.ToArray();return decryptedData;}
Hall of Fame Twitter Terms of Service Privacy Policy Contact Us Archives Tell A Friend