Keys
First the encryption will need these.For each project I use them in, I change the keys a little.
private static readonly byte[] KEY = { 15, 85, 64, 52, 131, 86, 216, 44 }; private static readonly byte[] IV = { 5, 44, 19, 95, 129, 164, 9, 108 };
Encrypt
public static string Encrypt(this string source) { try { if (string.IsNullOrEmpty(source)) return source; else { using (var des = new DESCryptoServiceProvider()) using (var ms = new MemoryStream()) using (var cs = new CryptoStream(ms, des.CreateEncryptor(KEY, IV), CryptoStreamMode.Write)) using (var sw = new StreamWriter(cs)) { sw.Write(source); sw.Flush(); cs.FlushFinalBlock(); sw.Flush(); return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length); } } } catch { return string.Empty; } }
Decrypt
public static string Decrypt(this string source) { try { if (string.IsNullOrEmpty(source)) return source; else { using (var des = new DESCryptoServiceProvider()) using (var ms = new MemoryStream(Convert.FromBase64String(source))) using (var cs = new CryptoStream(ms, des.CreateDecryptor(KEY, IV), CryptoStreamMode.Read)) using (var sr = new StreamReader(cs)) { return sr.ReadToEnd(); } } } catch { return string.Empty; } }
No comments:
Post a Comment