Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
LittleBuster
5 / 5 / 1
Регистрация: 14.10.2010
Сообщений: 104
#1

Перевод алгоритма XOR с C# на C++ - C++

07.10.2012, 16:16. Просмотров 722. Ответов 4
Метки нет (Все метки)

Попытался перевести алгоритм XOR шифрования с шарпа на плюсы, при расшифровке выдаёт чушь, помогите разобраться

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <Windows.h>
#include <stdio.h>
#include <string>
 
using namespace std;
 
string XOR_Crypt( string input, int key )
{
    string outs;
 
    for (int i = 0; i < input.size(); i++)
    {
        int k = static_cast<int>(input[i]);
        k ^= key;
        outs += static_cast<char>(k);
    }
    return outs;
}
 
int main()
{
    int Key = 123;
    string str = "Привет мир";
    
    string tmp = XOR_Crypt(str, Key);
    puts(tmp.c_str());
 
    tmp = XOR_Crypt(tmp, Key);
    puts(tmp.c_str());
 
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2012, 16:16     Перевод алгоритма XOR с C# на C++
Посмотрите здесь:

Перевод алгоритма с псевдокода на С++ - C++
Помогите реализовать алгоритм из файла. Есть некоторые сырые наброски. polygon^ Pclip (polygon^ P, point min, point max) { polygon^ P1...

Xor encrypt - C++
Есть файл зашифрованный с помощью 16 битного ключа только xor. Какие есть предложения для вскрытия шифра?

оператор XOR - C++
объясните, что делает XOR, желательно понятным простому смертному языком. например: 0 xor 1 = 1 1 xor 1 = 0 0 xor 0 = 0 1 xor...

быстрый xor - C++
Нужно про-xor-ить биты в числе. Можно ли это сделать быстрее, чем u_char r = 0; for (i = 0; i &lt; sizeof (u_char); ++i) r ^= (n &gt;&gt;...

XOR 32 bit key - C++
Здравствуйте! Подскажите, пожалуйста. Есть чаровский массив, т.е каждый символ 1 байт, есть ключ 32 бита или 4 байта, как зашифровать...

Взлом XOR шифра - C++
Здравствуйте, пишу программу для взлома XOR шифра. Прочитал по этому поводу в &quot;Прикладной криптографии&quot; Брюса Шнайера. Там описан...

un XOR без ключа - C++
опять же по Страуструпу задание. написать прогу ксорящую текст с ключом, затем расшифровывающую данный ксоренный тескт с ключом. Но потом...

Xor на не примитивный тип - C++
Собственно, как? struct X { unsigned char a, b, c, d, e; } /*...*/ X x1, x2, x3 = x1 ^ x2; //не дает (не важно, что не...

XOR не много не понимаю - C++
В общем изучаю XOR и появился вопрос, написал программу 1 которая из файла берет текст и декодирует из XOR в обычный текст , при...

Стабильный код и xor - C++
Доброго времени! Есть такой код:double azim = degrees( atan( s/c )); Проблема в том что c может быть нулём, поэтому вышележащий код...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrCold
852 / 750 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
07.10.2012, 16:40     Перевод алгоритма XOR с C# на C++ #2
русские шрифты в консоли
Кот Ангенс
317 / 267 / 38
Регистрация: 24.05.2012
Сообщений: 629
07.10.2012, 16:48     Перевод алгоритма XOR с C# на C++ #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <cstdlib>
#include <iostream>
#include <string>
 
using namespace std;
 
string xor_crypt(const string& s, unsigned char key) {
    string result = "";
    for (char c: s)
        result += c ^ key;
    return result;
}
 
int main() {
    unsigned char key = 123;
    const string str = "Привет, Мир! Hello World!";
    string cr = xor_crypt(str, key);
    cout << str << endl << cr << endl << xor_crypt(cr, key) << endl;
    system("pause");
}
Все нормально.
LittleBuster
5 / 5 / 1
Регистрация: 14.10.2010
Сообщений: 104
07.10.2012, 16:54  [ТС]     Перевод алгоритма XOR с C# на C++ #4
ой бошка,спс)) совсем вылетело из головы setlocale
rangerx
1931 / 1540 / 141
Регистрация: 31.05.2009
Сообщений: 2,908
07.10.2012, 17:11     Перевод алгоритма XOR с C# на C++ #5
При использовании строковых литералов состоящих из элементов типа char(1 байт) и содержащих кириллицу:
1) следите за тем, чтобы исходный файл в котором используются эти константы не был сохранён в юникоде;
2) следите за тем чтобы кодировка файлов, в которых используются строковые литералы, и кодировка консоли совпадали.
Yandex
Объявления
07.10.2012, 17:11     Перевод алгоритма XOR с C# на C++
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru