Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. private static SymmetricAlgorithm GetAlgorithm(string password)
  2. {
  3. var algorithm = Rijndael.Create();
  4. var rdb = new Rfc2898DeriveBytes(password, new byte[] { 0x53, 0x6f, 0x64, 0x69, 0x75, 0x6d, 0x20, 0x43, 0x68, 0x6c, 0x6f, 0x72, 0x69, 0x64, 0x65 });
  5. algorithm.Padding = PaddingMode.ISO10126;
  6. algorithm.Key = rdb.GetBytes(32);
  7. algorithm.IV = rdb.GetBytes(16);
  8. return algorithm;
  9. }
  10. public static string EncryptString(string clearText, string password)
  11. {
  12. var algorithm = GetAlgorithm(password);
  13. var encryptor = algorithm.CreateEncryptor();
  14. var clearBytes = Encoding.Unicode.GetBytes(clearText);
  15. using (var ms = new MemoryStream())
  16. using (var cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write))
  17. {
  18. cs.Write(clearBytes, 0, clearBytes.Length);
  19. cs.Close();
  20. return Convert.ToBase64String(ms.ToArray());
  21. }
  22. }
  23. public static string DecryptString(string cipherText, string password)
  24. {
  25. var algorithm = GetAlgorithm(password);
  26. var decryptor = algorithm.CreateDecryptor();
  27. var cipherBytes = Convert.FromBase64String(cipherText);
  28. using (var ms = new MemoryStream())
  29. using (var cs = new CryptoStream(ms, decryptor, CryptoStreamMode.Write))
  30. {
  31. cs.Write(cipherBytes, 0, cipherBytes.Length);
  32. cs.Close();
  33. return Encoding.Unicode.GetString(ms.ToArray());
  34. }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement