Guest User

Untitled

a guest
May 24th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Security.Cryptography;
  4.  
  5. namespace ConsoleApp1
  6. {
  7. class Program
  8. {
  9. private static string GeneratePassword(DateTime dt) => ((int)dt.Subtract(new DateTime(1970, 1, 1)).TotalSeconds).ToString();
  10.  
  11. private static byte[] CreateKey(string password, int keyBytes = 32) => new Rfc2898DeriveBytes(password, Salt, 300).GetBytes(keyBytes);
  12.  
  13. private static readonly byte[] Salt = new byte[] {10,20,30,40,50,60,70,80};
  14.  
  15. static void Main(string[] args)
  16. {
  17. string filename = "dbname.db.enc";
  18. if (!File.Exists(filename))
  19. {
  20. Console.WriteLine("No such file!");
  21. Environment.Exit(-111);
  22. }
  23. string d = File.ReadAllText(filename);
  24. byte[] array = Convert.FromBase64String(d);
  25. DateTime dt = new DateTime(2018, 05, 14, 0, 0, 0);
  26.  
  27. DateTime maxDate = new DateTime(2018, 05, 16, 20, 0, 0);
  28. do
  29. {
  30. try
  31. {
  32. if (dt > maxDate)
  33. {
  34. Console.WriteLine("Reached the min date");
  35. break;
  36. }
  37. string text = "GeronimoAlpha" + GeneratePassword(dt);
  38. RijndaelManaged rijndaelManaged = new RijndaelManaged();
  39. rijndaelManaged.Key = CreateKey(text, 32);
  40. rijndaelManaged.IV = new byte[] { 0x18, 0x15, 0x4F, 0x9A, 0x4C, 0xBD, 0x15, 0x40, 0xE2, 0xB5, 0x43, 0x1E, 0x66, 0x68, 0x14, 0x04 };
  41.  
  42. using (MemoryStream msDecrypt = new MemoryStream(array))
  43. {
  44. ICryptoTransform transform = rijndaelManaged.CreateDecryptor();
  45. using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, transform, CryptoStreamMode.Read))
  46. {
  47. using (MemoryStream srDecrypt = new MemoryStream())
  48. {
  49.  
  50. csDecrypt.CopyTo(srDecrypt);
  51. File.WriteAllBytes("dbname." + text + ".db", srDecrypt.ToArray());
  52. }
  53. }
  54. }
  55. }
  56. catch (CryptographicException)
  57. {
  58. //continue
  59.  
  60. }
  61. finally
  62. {
  63. dt = dt.AddSeconds(1);
  64. }
  65.  
  66.  
  67. }
  68. while (true);
  69. }
  70. }
  71. }
Add Comment
Please, Sign In to add comment