Перевести python на c# xor decrypt

Tuw

Client
Регистрация
07.09.2014
Сообщения
441
Благодарностей
150
Баллы
43
Поможет кто?) Это дешифратор xor-a, нужно перевести, или найти пример в c#
Код ксорит побайтово, а потом hex переводит в текст.

Код:
def xor(message, key):
    return "".join(chr(ord(message[i]) ^ ord(key[i % len(key)])) for i in xrange(len(message)))
key = "тут кей"
message = "тут хеш ксоровский".decode("hex")
print xor(message, key)
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 983
Благодарностей
817
Баллы
113
Примерно вот так:

Код:
string text = project.Variables["text"].Value;
string key = project.Variables["key"].Value;
var result = new StringBuilder();

  for (int c = 0; c < text.Length; c++)
  result.Append((char)((uint)text[c] ^ (uint)key[c % key.Length]));

  return result.ToString();
конечно, нужно иметь переменные text и key в проекте
 
  • Спасибо
Реакции: Tuw

Tuw

Client
Регистрация
07.09.2014
Сообщения
441
Благодарностей
150
Баллы
43
спасибо за наводку!)
рабочий код

Код:
string text = project.Variables["text"].Value;
string key = project.Variables["key"].Value;
var result = new StringBuilder();
  for (int c = 0; c < text.Length; c+=2)
  result.Append((char)(Convert.ToUInt16(text.Substring(c, 2), 16) ^ (ushort)key[ (c/2) % key.Length]));
  return result.ToString();
 
Последнее редактирование:
  • Спасибо
Реакции: apelsin

apelsin

Новичок
Регистрация
19.02.2015
Сообщения
1
Благодарностей
0
Баллы
1
добрый день, а подскажите по коду вычисления xor, скажем
a=text
b=key
вычислить с=a^b
числа в десятичном формате, и полученный результат должен быть такой же
пытался по аналогии с дешифратором выше вкурить, ничего не вышло, знаний мало
 
Последнее редактирование:

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)