Advertisement
Guest User

Encryption AES-128-CBC by Shimkiv

a guest
Mar 6th, 2015
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.15 KB | None | 0 0
  1.  public byte[] Encrypt_128_CBC(byte[] clearData)
  2.         {
  3.             AesCryptoServiceProvider aescrypto = (AesCryptoServiceProvider)AesCryptoServiceProvider.Create();
  4.             aescrypto.KeySize = 128; // указали размер желаемого ключа
  5.             byte[] key = aescrypto.Key; // создали ключ и записали его
  6.             aescrypto.GenerateIV(); // сгенерировали случайный вектор инициализации
  7.             byte[] iv = aescrypto.IV; // записали его
  8.             ivbox.Text = Encoding.UTF8.GetString(iv);
  9.             aescrypto.BlockSize = 128; // установили размер блока
  10.             aescrypto.Mode = CipherMode.CBC; //установили режим шифрования CBC
  11.             keybox.Text = Encoding.UTF8.GetString(key);
  12.             MemoryStream ms = new MemoryStream();
  13.             CryptoStream cs = new CryptoStream(ms, aescrypto.CreateEncryptor(aescrypto.Key, aescrypto.IV), CryptoStreamMode.Write);
  14.             cs.Write(clearData, 0, clearData.Length);
  15.             cs.Close();
  16.             byte[] encryptedData = ms.ToArray();
  17.            
  18.  
  19.             return encryptedData;
  20.         }
  21.  
  22.  private void button1_Click(object sender, EventArgs e)
  23.         {
  24.             string source = sourcebox.Text;
  25.             string opensource = "";
  26.             if (source.Contains('=') == true || source.Contains(';') == true) { addbox.Text = "Найден запрещенный символ"; }
  27.             else
  28.             {
  29.                 opensource = "comment1=cooking%20MCs;userdata=" + source + ";comment2=%20like%20a%20pound%20of%20bacon";
  30.                 addbox.Text = opensource;
  31.             }
  32.             System.Text.UTF8Encoding str = new System.Text.UTF8Encoding();
  33.             byte[] clearData = str.GetBytes(opensource);
  34.  
  35.             opensource = Encoding.UTF8.GetString(clearData); // чтобы удостовериться в правильности конвертации
  36.  
  37.             byte[] encryptedData = Encrypt_128_CBC(clearData);
  38.             cipherbox.Text = Encoding.UTF8.GetString(encryptedData);
  39.  
  40.          
  41.  
  42.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement