Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2022, 21:09   #1
Vladislav1334
Новичок
Джуниор
 
Регистрация: 05.01.2022
Сообщений: 2
Восклицание ДЕшифровка(обЬясните код программы уже написанной)

#include <iostream>
#include <fstream>
using namespace std;
void main()
{
string file;
cout << "введите файл для дешифровки: " << endl;
cin >> file;
ifstream vv;
string vivod = "(дп)" + file;
ofstream vi;
vi.open(vivod, ios::binary);
char sym;
int size = 0;
vv.open(file, ios::binary);
while (vv.get(sym))
{
size++;
}
vv.close();
int k = 0;
char* dyn = new char[size + 1];
vv.open(file, ios::binary);
while (vv.get(sym))
{
dyn[k] = sym;
k++;
}
vv.close();
int stroki = 0;
int osn = size / 8; // количество букв для одной инициализии без последней строки/строк без последней строки
int pstroka = size - (osn * 8); // количество букв в последней строке
int z[8];
for (int i = 0; i < 8; i++) z[i] = osn;
for (int a = 0; a < pstroka; a++)
{
z[a]++;
}
int q[8];
q[0] = z[5];
q[1] = q[0] + z[1];
q[2] = q[1] + z[0];
q[3] = q[2] + z[4];
q[4] = q[3] + z[6];
q[5] = q[4] + z[7];
q[6] = q[5] + z[3];
q[7] = q[6] + z[2];

int LOH = 0;
int r = 0;
while (LOH < size)
{
if ((q[1] + r) != q[2])
{
vi << dyn[q[1] + r];
LOH++;
}
if ((q[0] + r) != q[1])
{
vi << dyn[q[0] + r];
LOH++;
}
if ((q[6] + r) != q[7])
{
vi << dyn[q[6] + r];
LOH++;
}
if ((q[5] + r) != q[6])
{
vi << dyn[q[5] + r];
LOH++;
}
if ((q[2] + r) != q[3])
{
vi << dyn[q[2] + r];
LOH++;
}
if (r != q[0])
{
vi << dyn[r];
LOH++;
}
if ((q[3] + r) != q[4])
{
vi << dyn[q[3] + r];
LOH++;
}
if ((q[4] + r) != q[5])
{
vi << dyn[q[4] + r];
LOH++;
}
r++;
}
delete[] dyn;
vi.close();
}
объясните дешифрование методом смещения,хотя бы подробный комментарии,готов заплатить

Последний раз редактировалось Vladislav1334; 16.01.2022 в 21:47.
Vladislav1334 вне форума Ответить с цитированием
Старый 16.01.2022, 23:57   #2
AnnaF
Новичок
Джуниор
 
Регистрация: 21.12.2021
Сообщений: 2
По умолчанию

Добрый день. Пишите.
Почта annafrolova1987dr@gmail.com
Скайп live:.cid.5f6b916733a694b4
AnnaF вне форума Ответить с цитированием
Старый 17.01.2022, 08:22   #3
AbakBarama
Пользователь
 
Регистрация: 12.05.2011
Сообщений: 57
По умолчанию

Vladislav1334, пишите в ЛС, если ещё актуально.

З. Ы. Надо же, простой алгоритм, а код так "умело" написан, что сразу и не поймёшь.
AbakBarama вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расшифровка программы написанной в C++ Zevs766 Фриланс 10 27.06.2017 07:11
Переписать код с СИ на делфи, дешифровка данных по гост 28147-89 tony-p Фриланс 7 30.12.2015 20:41
Реверс программы написанной на Delphi dosha Фриланс 2 28.06.2015 01:43
требуется интерфейс к уже написанной программе Nikolayy Помощь студентам 2 29.05.2013 20:01
Откат написанной программы фЁдОр Свободное общение 13 20.12.2007 11:35