Длинна ключа - C#
Формулировка задачи:
Привет всем.. Есть программа.. В ней есть ключ..
Код (Частичный):
Сейчас ключ выглядит так: 354B3X51 (Пример)
Надо что бы выглядел так: 354B-3X51-Цифры/Буквы-Цифры/Буквы.
Кто может подсказать как это сделать.. Желательно в виде кода..
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private string Crypt(string text)
{
string rtnStr = string.Empty;
foreach (char c in text) //
{
rtnStr += (char)((int)c ^ 1);
}
return rtnStr; //Возвращаем уже закриптованную строку.
}
private void Form1_Load(object sender, EventArgs e)
{
{
textBox2.Text = WindowsFormsApplication4.Properties.Settings.Default.mylogin;
}
try
{
string drive = Environment.GetFolderPath(Environment.SpecialFolder.System).Substring(0, 1);
ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"" + drive + ":\"");
disk.Get();
string diskLetter = (disk["VolumeSerialNumber"].ToString());
string lol1 = (Crypt(diskLetter.ToString()));
textBox1.Text = lol1;
}
catch (Exception)
{
textBox1.Text = "Error to generate SYS code!";
}
}Решение задачи: «Длинна ключа»
textual
Листинг программы
public static string InsertSpliter(string Code, string Delimeter, int BlockSize)
{
if (BlockSize >= Code.Length) return Code;
int DelimetersCount = Code.Length / BlockSize;
if (Code.Length % BlockSize == 0) DelimetersCount--;
for(int i = DelimetersCount; i > 0; i--)
Code = Code.Insert(i * BlockSize, Delimeter);
return Code;
}