Advertisement
Guest User

Untitled

a guest
Dec 19th, 2018
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.88 KB | None | 0 0
  1. namespace manager
  2. {
  3.     class MD5
  4.     {
  5.         public static string CreateMD5(string input)
  6.         {
  7.             // Use input string to calculate MD5 hash
  8.             using (System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create())
  9.             {
  10.                 byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
  11.                 byte[] hashBytes = md5.ComputeHash(inputBytes);
  12.  
  13.                 // Convert the byte array to hexadecimal string
  14.                 StringBuilder sb = new StringBuilder();
  15.                 for (int i = 0; i < hashBytes.Length; i++)
  16.                 {
  17.                     sb.Append(hashBytes[i].ToString("X2"));
  18.                 }
  19.                 return sb.ToString();
  20.             }
  21.         }
  22.     }
  23.  
  24.     interface IVisitor
  25.     {
  26.         void Visit(FileMethods f);
  27.         void Visit(FolderMethods f);
  28.     }
  29.  
  30.     class Md5Hash : IVisitor
  31.     {
  32.         public void Visit(FileMethods f)
  33.         {
  34.             string hashed = MD5.CreateMD5(f.myFullPath());
  35.             MessageBox.Show(hashed);
  36.         }
  37.         public void Visit(FolderMethods f)
  38.         {
  39.             FileMethods[] mas = FolderMethods.myfilesEntity(f.GetMyName());
  40.             string dano = "";
  41.             foreach(FileMethods i in mas)
  42.             {
  43.                 dano += i.getMytTxt();
  44.             }
  45.  
  46.             string hashed = MD5.CreateMD5(dano);
  47.             MessageBox.Show(hashed);
  48.         }
  49.     }
  50.  
  51.     class crypt : IVisitor
  52.     {
  53.        private int NumToCript;
  54.  
  55.        public crypt()
  56.        {
  57.             NumToCript = 0;
  58.        }
  59.  
  60.         public void setNum(int n)
  61.         {
  62.             NumToCript = n;
  63.         }
  64.  
  65.        public void Visit(FileMethods f)
  66.        {
  67.            string wat = f.getMytTxt();
  68.            wat = encrypt(wat);
  69.            var someStream = FileMethods.create(f.myFullPath() + "_encrypted");
  70.            byte[] info = new UTF8Encoding(true).GetBytes(wat);
  71.            someStream.Write(info, 0, info.Length);
  72.            FileMethods.delete(f.myFullPath());
  73.        }
  74.        public void Visit(FolderMethods f)
  75.        {
  76.             FileMethods[] mas = FolderMethods.myfilesEntity(f.GetMyName());
  77.  
  78.             foreach (FileMethods i in mas)
  79.             {
  80.                 Visit(i);
  81.             }
  82.         }
  83.  
  84.        private string encrypt(string a)
  85.        {
  86.             char[] mas = a.ToArray();
  87.             string s = "";
  88.             for(int i = 0; i < a.Length; i++)
  89.             {
  90.                 mas[i] =  (char)(mas[i] + NumToCript);
  91.                 s += mas[i];
  92.             }
  93.             return s;
  94.        }
  95.  
  96.     }
  97.  
  98.     class encrypt : IVisitor
  99.     {
  100.         crypt c;
  101.         int myNum;
  102.         public encrypt()
  103.         {
  104.             myNum = 0;
  105.             c = new crypt();
  106.         }
  107.  
  108.         public void setKey(int a)
  109.         {
  110.             myNum = a;
  111.         }
  112.         public void Visit(FileMethods f)
  113.         {
  114.             myNum = -myNum;
  115.             string wat = f.getMytTxt();
  116.             wat = encryption(wat);
  117.             var someStream = FileMethods.create(f.myFullPath().Remove(f.myFullPath().Length - 10, 10));
  118.             byte[] info = new UTF8Encoding(true).GetBytes(wat);
  119.             someStream.Write(info, 0, info.Length);
  120.             FileMethods.delete(f.myFullPath());
  121.         }
  122.         public void Visit(FolderMethods f)
  123.         {
  124.             FileMethods[] mas = FolderMethods.myfilesEntity(f.GetMyName());
  125.  
  126.             foreach(FileMethods i in mas)
  127.             {
  128.                 Visit(i);
  129.                 myNum = -myNum;
  130.             }
  131.  
  132.         }
  133.  
  134.         private string encryption(string a)
  135.         {
  136.             char[] mas = a.ToArray();
  137.             string s = "";
  138.             for (int i = 0; i < a.Length; i++)
  139.             {
  140.                 mas[i] = (char)(mas[i] + myNum);
  141.                 s += mas[i];
  142.             }
  143.             return s;
  144.         }
  145.  
  146.     }
  147.  
  148. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement