Example #1
0
 /// <summary>
 /// Кнопка Сгенерировать
 /// </summary>
 private void generateButton_Click(object sender, EventArgs e)
 {
     if (comboBox1.SelectedIndex < 0 || comboBox2.SelectedIndex < 0)
     {
         MessageBox.Show("Не выбраны алгоритмы для генерации ключей!", "Предупредение", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         return;
     }
     key1 = KeyGenerator2.GenerateKey((KeyTypes)Enum.Parse(typeof(KeyTypes), String.Format("{0}", comboBox1.SelectedIndex)));
     key2 = KeyGenerator2.GenerateKey((KeyTypes)Enum.Parse(typeof(KeyTypes), String.Format("{0}", comboBox2.SelectedIndex)));
     textBox1.Text = key1.KeyValue;
     textBox2.Text = key2.KeyValue;
     saveButton.Visible = true;
 }
Example #2
0
 /// <summary>
 /// Печать ключей в файл
 /// </summary>
 /// <param name="fname">Файл для вывода результатов</param>
 /// <remarks>Генерируется файл с форматированной строкой для конфигурации веб-приложения machineKey</remarks>
 public static void PrintKeysToFile(KeyData valKey, KeyData desKey, string fname)
 {
     StreamWriter file = new StreamWriter(fname, false, Encoding.UTF8);
     file.WriteLine(String.Format("<machineKey validationKey=\"{0}\" decryptionKey=\"{1}\" validation=\"{2}\" decryption=\"{3}\" />",
         valKey.KeyValue, desKey.KeyValue, GetAlgorithmName(valKey.Type), GetAlgorithmName(desKey.Type)));
     file.Close();
 }
Example #3
0
 /// <summary>
 /// Генерация случайного ключа для приложения
 /// </summary>
 /// <param name="type">Тип ключа</param>
 /// <returns>Возвращает данные ключа и сам ключ</returns>
 public static KeyData GenerateKey(KeyTypes type)
 {
     int len = GetKeyLenForType(type);
     byte[] buff = new byte[len / 2];
     RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
     rng.GetBytes(buff);
     StringBuilder sb = new StringBuilder(len);
     for (int i = 0; i < buff.Length; i++)
         sb.Append(string.Format("{0:X2}", buff[i]));
     KeyData res = new KeyData();
     res.KeyValue = sb.ToString();
     res.Length = len;
     res.Type = type;
     return res;
 }