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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.91
Sahon
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
#1

Работа с HEX - C++

01.05.2011, 21:02. Просмотров 4320. Ответов 12
Метки нет (Все метки)

У меня вот такая задача - надо создать программу-шифровальщик с помощью метода XOR. Но так как данный метод основывается на взаимодействии с HEX-"таблицами", то я хотел спросить, как работать с ними (HEX-"таблицами") на C++?

Если можно, коротенькое, но понятное объяснение с примером (не самого шифрования, а просто работы с HEX)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2011, 21:02     Работа с HEX
Посмотрите здесь:

std::ios::hex или std::ios.hex - C++
привет в коде встретил вот такую строчку ss.setf(std::ios.hex, std::ios::basefield); и на VS2008 это работает. Разве это...

HEX в BIN - C++
Товарищи!!! доброго времени суток!! Прошу помощи вот в какой задаче Есть некий Hex файл. :020000040800F2 ...

Перевернуть hex - C++
как перевернуть число? чтобы 0xA5 стало 0х5А

Из Hex в Dec - C++
Перевел из чара в инт и что-то не вьеду как теперь возвести . #include<iostream> #include<cmath> #include<string> using...

hex редактор на с++ - C++
всем привет ) собственно вопрос простой ) я хочу для начала сделать только просмотр hex кода а в потом уже и изменение его))) так вот...

hex редактор - C++
всем привет ) есть код #include <cstdlib> #include <fstream> #include <iterator> #include <stdlib.h> #include <stdio.h> using...

символы в hex - C++
Подскажите плс , как перевести char в hex код, допустим в консоле пишу Hello у меня это сохраняется в тхтФайл, но в hex формате Hello...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
01.05.2011, 21:07     Работа с HEX #2
Sahon, что такое HEX-таблица и каким боком она относится к XOR-шифрованию?
Sahon
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
01.05.2011, 21:14  [ТС]     Работа с HEX #3
Цитата Сообщение от fasked Посмотреть сообщение
Sahon, что такое HEX-таблица и каким боком она относится к XOR-шифрованию?
Ну HEX-"таблицей" я называю это (см. вложение) и метод XOR непосредственно работает с HEX-адресами.
1001 1101 - адрес
XOR
1101 1111 - шифр
-----------
0100 0010 - итоговый адрес
Миниатюры
Работа с HEX  
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
01.05.2011, 21:20     Работа с HEX #4
Цитата Сообщение от Sahon Посмотреть сообщение
метод XOR непосредственно работает с HEX-адресами
этот метод просто применяет операцию побитового сложения по модулю 2 для ключа и открытого текста, все.
Цитата Сообщение от Sahon Посмотреть сообщение
(см. вложение)
число оно и в африке число. и в каком оно виде HEX, DEC, BIN не важно, результат все равно одинаковый будет. в общем-то это я все к тому, что символы в компьютере это тоже числа все, что вам нужно это сложить символы с ключом.
Цитата Сообщение от Sahon Посмотреть сообщение
HEX-адресами
простите, но вы несете полную чепуху, какие еще адреса?
а еще совет, чтобы Вам могли помочь называйте вещи общепринятыми именами, а не так как Вам вздумается.
Sahon
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
01.05.2011, 21:24  [ТС]     Работа с HEX #5
Цитата Сообщение от fasked Посмотреть сообщение
этот метод просто применяет операцию побитового сложения по модулю 2 для ключа и открытого текста, все.

число оно и в африке число. и в каком оно виде HEX, DEC, BIN не важно, результат все равно одинаковый будет. в общем-то это я все к тому, что символы в компьютере это тоже числа все, что вам нужно это сложить символы с ключом.
Это то я понимаю. А вот как в С++ это сделать - не очень

Цитата Сообщение от fasked Посмотреть сообщение
простите, но вы несете полную чепуху, какие еще адреса?
а еще совет, чтобы Вам могли помочь называйте вещи общепринятыми именами, а не так как Вам вздумается.
Зря чтоли в первая колонка называется Address?
resource2008
109 / 109 / 2
Регистрация: 11.03.2011
Сообщений: 421
01.05.2011, 22:07     Работа с HEX #6
Цитата Сообщение от Sahon Посмотреть сообщение
Зря чтоли в первая колонка называется Address
это смещение в файле. при данном методе шифрования оно вообще никуда не учитывается, ибо размер зашифрованных данных такой же как исходных.


Цитата Сообщение от Sahon Посмотреть сообщение
Это то я понимаю. А вот как в С++ это сделать - не очень
так же как на любом другом языке программирования.

операция XOR вроде бы как "^" на С++ выглядит.

общая алгоритмика работы:
- открыли исходный файл
- прочитали данные размером с ключ
- сложили по модулю 2 с ключом
- положили результат куда нам надо
- переместили каретку в файле, перешли ко второму пункту

тип данных нам неважен. в результате машина выполнит действия все равно над двоичной информацией.

да, и еще: hex, dec, oct, bin нас волнуют только при отображении на экране (в каком формате показывать их пользователю)
об этом выше уже писали.
Sahon
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
01.05.2011, 22:09  [ТС]     Работа с HEX #7
Цитата Сообщение от resource2008 Посмотреть сообщение
это смещение в файле. при данном методе шифрования оно вообще никуда не учитывается, ибо размер зашифрованных данных такой же как исходных.



так же как на любом другом языке программирования.

операция XOR вроде бы как "^" на С++ выглядит.

общая алгоритмика работы:
- открыли исходный файл
- прочитали данные размером с ключ
- сложили по модулю 2 с ключом
- положили результат куда нам надо
- переместили каретку в файле, перешли ко второму пункту

тип данных нам неважен. в результате машина выполнит действия все равно над двоичной информацией.

да, и еще: hex, dec, oct, bin нас волнуют только при отображении на экране (в каком формате показывать их пользователю)
об этом выше уже писали.
А можно пример маленькой программы, а то я с HEX не работал ранее (вообще)
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
01.05.2011, 22:10     Работа с HEX #8
Sahon, Тфу ты ну ты.
HEX - это всего навсего система счисления. А именно 16-я.

10hex == 16dec...

В чем проблема-то?
Sahon
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
01.05.2011, 22:11  [ТС]     Работа с HEX #9
Цитата Сообщение от ForEveR Посмотреть сообщение
Sahon, Тфу ты ну ты.
HEX - это всего навсего система счисления. А именно 16-я.

10hex == 16dec...

В чем проблема-то?
Та знаю я блин, но с файлами работать не умею!
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
01.05.2011, 22:15     Работа с HEX #10
Sahon, Во. А это уже другое дело. Знаете правильный совет? Книгу в руки и читать.
Sahon
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
01.05.2011, 22:16  [ТС]     Работа с HEX #11
Цитата Сообщение от ForEveR Посмотреть сообщение
Sahon, Во. А это уже другое дело. Знаете правильный совет? Книгу в руки и читать.
Мне бы маленький примерчик на будущее...
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
01.05.2011, 22:29     Работа с HEX #12
По работе с файлами?) Да запросто.
Прога почти ничего не делает, просто считывает числа в 16-ом формате из файла и выводит их в 16-ом, 8-ом, 10-ом.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <fstream>
#include <string>
 
int main()
{
    const std::string f_name = "input.txt";
    std::ifstream ifs(f_name.c_str());
    if(!ifs)
    {
        std::cerr << "can`t open file: " << f_name <<'\n';
        return 1;
    }
    int one = 0;
    while(!ifs.eof())
    {
        ifs >> std::hex >> one;
        std::cout << "Hex: " << std::hex << one << '\n'
            << "Oct: " << std::oct << one << '\n'
            << "Dec: " << std::dec << one <<'\n';
    }
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2011, 22:31     Работа с HEX
Еще ссылки по теме:

Hex редактор - C++
Извините, что кинул тему не туда. Не нашел подходящего раздела. (надеюсь, тема будет перемещена модераторами). Вопрос такой... Кто...

hex vs base64 - C++
Всем доброе утро! Снова с вопросом. Не могу разобраться с кодировкой хекса в base64. Например, есть у меня строка &quot;49276d&quot; из которой нужно...

Byte to Hex - C++
Подскажите пожалуйста, провожу данные BYTE через функцию, которая конвентирует в HEX, не всегда но через N.. количество раз, приложение...

string в hex - C++
Здравствуйте, подскажите как string в hex перегнать ?

S dec na hex, ukazatel - C++
Pomogite pojaluista! Etot kod menyaet 10noe chislo na 16noe. Nado izmenit eto chtoby zdes byl ukazatel i funkcia to est v int main() Tolko...


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

Или воспользуйтесь поиском по форуму:
Sahon
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
01.05.2011, 22:31  [ТС]     Работа с HEX #13
ForEveR, спасибо
Yandex
Объявления
01.05.2011, 22:31     Работа с HEX
Ответ Создать тему
Опции темы

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