Делаю шифратор и столкнулся с проблемой. Суть шифрования заключается в следующем: ввожу ключ и текст, текст и ключ преобразуются в двоичный вид. Затем элементы ключа записываются в текст через символ. Я реализовал это так:
static char GetNextChar(string encrypt, ref int lastIndex)
{
if (++lastIndex >= encrypt.Length)
lastIndex = 0;
return encrypt[lastIndex];
}
public static string PairConcat(string Encrypt, string bina)
{
StringBuilder result = new StringBuilder();
int index = -1;
for (int i = 0; i < bina.Length; i++)
{
result.Append(bina[i]);
result.Append(GetNextChar(Encrypt, ref index));
}
return result.ToString();
}
После этого я перевожу из binary в string и получается зашифрованная строка. Проблема в дешифровании. Я перевожу строку обратно в двоичный и получаю 1, да 0. Теперь из этого набора чисел, необходимо удалить элементы ключа, представленные в двоичном виде. Я, к сожалению, не представляю, как это сделать. Помогите