Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 26.02.2019
Сообщений: 6
1

Массив заполняется нолями

09.06.2020, 16:11. Показов 245. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include <iostream>
 
using namespace std;
 
typedef unsigned char byte;
 
static const byte fTable[256] = {
    0xa3,0xd7,0x09,0x83,0xf8,0x48,0xf6,0xf4,0xb3,0x21,0x15,0x78,0x99,0xb1,0xaf,0xf9,
    0xe7,0x2d,0x4d,0x8a,0xce,0x4c,0xca,0x2e,0x52,0x95,0xd9,0x1e,0x4e,0x38,0x44,0x28,
    0x0a,0xdf,0x02,0xa0,0x17,0xf1,0x60,0x68,0x12,0xb7,0x7a,0xc3,0xe9,0xfa,0x3d,0x53,
    0x96,0x84,0x6b,0xba,0xf2,0x63,0x9a,0x19,0x7c,0xae,0xe5,0xf5,0xf7,0x16,0x6a,0xa2,
    0x39,0xb6,0x7b,0x0f,0xc1,0x93,0x81,0x1b,0xee,0xb4,0x1a,0xea,0xd0,0x91,0x2f,0xb8,
    0x55,0xb9,0xda,0x85,0x3f,0x41,0xbf,0xe0,0x5a,0x58,0x80,0x5f,0x66,0x0b,0xd8,0x90,
    0x35,0xd5,0xc0,0xa7,0x33,0x06,0x65,0x69,0x45,0x00,0x94,0x56,0x6d,0x98,0x9b,0x76,
    0x97,0xfc,0xb2,0xc2,0xb0,0xfe,0xdb,0x20,0xe1,0xeb,0xd6,0xe4,0xdd,0x47,0x4a,0x1d,
    0x42,0xed,0x9e,0x6e,0x49,0x3c,0xcd,0x43,0x27,0xd2,0x07,0xd4,0xde,0xc7,0x67,0x18,
    0x89,0xcb,0x30,0x1f,0x8d,0xc6,0x8f,0xaa,0xc8,0x74,0xdc,0xc9,0x5d,0x5c,0x31,0xa4,
    0x70,0x88,0x61,0x2c,0x9f,0x0d,0x2b,0x87,0x50,0x82,0x54,0x64,0x26,0x7d,0x03,0x40,
    0x34,0x4b,0x1c,0x73,0xd1,0xc4,0xfd,0x3b,0xcc,0xfb,0x7f,0xab,0xe6,0x3e,0x5b,0xa5,
    0xad,0x04,0x23,0x9c,0x14,0x51,0x22,0xf0,0x29,0x79,0x71,0x7e,0xff,0x8c,0x0e,0xe2,
    0x0c,0xef,0xbc,0x72,0x75,0x6f,0x37,0xa1,0xec,0xd3,0x8e,0x62,0x8b,0x86,0x10,0xe8,
    0x08,0x77,0x11,0xbe,0x92,0x4f,0x24,0xc5,0x32,0x36,0x9d,0xcf,0xf3,0xa6,0xbb,0xac,
    0x5e,0x6c,0xa9,0x13,0x57,0x25,0xb5,0xe3,0xbd,0xa8,0x3a,0x01,0x05,0x59,0x2a,0x46
};
 
 
/*typedef struct
{
    byte key[10];
} Data;*/
 
void makeKey(byte key[])
{
    for (int i = 0; i < 10; i++)
    {
        key[i] = rand() % 256;
        //cout << key->str[i];
    }
    cout << endl;
}
 
byte G_block(byte key[], int k, int w)
{
    byte g1, g2, g3, g4, g5, g6;
 
    g1 = (w >> 8) & 0xff;
    g2 = w & 0xff;
 
    g3 = fTable[g2 ^ key[(4 * k) % 10]] ^ g1;
    g4 = fTable[g3 ^ key[(4 * k + 1) % 10]] ^ g2;
    g5 = fTable[g4 ^ key[(4 * k + 2) % 10]] ^ g3;
    g6 = fTable[g5 ^ key[(4 * k + 3) % 10]] ^ g4;
 
    return ((g5 << 8) | g6);
}
 
void encrypt(byte key[], byte input[], byte* ciphertext)
{
    int w1, w2, w3, w4;
    int k = 1;
    w1 = (input[0] << 8) | input[1];
    w2 = (input[2] << 8) | input[3];
    w3 = (input[4] << 8) | input[5];
    w4 = (input[6] << 8) | input[7];
 
    for (int i = 0; i < 2; i++)
    {
        for (int j = 0; j < 8; j++)
        {
            w1 = G_block(key, k, w1) ^ w4 ^ k;
            w2 = G_block(key, k, w1);
            w3 = w2;
            w4 = w3;
            /*temp = w4;
            w3 = w4;
            w2 = G_block(key, k, w1);
            w1 = G_block(key, k, w1) ^ temp ^ k;*/
            k++;
        }
 
        for (int j = 0; j < 8; j++) {
            /*temp = w4;
            w4 = w3;
            w3 = w1 ^ w2 ^ k;
            w2 = G_block(key, k, w1);
            w1 = temp;*/
            w1 = w4;
            w2 = G_block(key, k, w1);
            w3 = w1 ^ w2 & k;
            w4 = w3;
            k++;
        }
    }
    ciphertext[0] = (byte)(w1 >> 8);
    ciphertext[1] = (byte)w1;
    ciphertext[2] = (byte)(w2 >> 8);
    ciphertext[3] = (byte)w2;
    ciphertext[4] = (byte)(w3 >> 8);
    ciphertext[5] = (byte)w3;
    ciphertext[6] = (byte)(w4 >> 8);
    ciphertext[7] = (byte)w4;
 
    //return ciphertext[8];
}
 
int main()
{
    byte input[8] = { 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x31 };
    byte key[10] = {};
    byte* ciphertext = new byte[8];
    byte output[8] = {};
    makeKey(key);
    encrypt(key, input, ciphertext);
    for (int i = 0; i < 8; i++)
    {
        cout << hex << ciphertext[i] << endl;
    }
}
Привет! Дело в том, что в строках 94-101 массив заполняется нолями, хотя значения w1, w2, w3, w4 - нолями не являются. Не могу никак понять, почему это так работает
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.06.2020, 16:11
Ответы с готовыми решениями:

Заполнить массив строк из файла. Массив заполняется, но выводится не корректно
Здравствуйте! Такая проблема. В файле имена записаны в столбик и разделены точкой с запятой. Массив заполняется, но выводится не корректно....

Не заполняется массив
Здравствуйте! Подскажите, пожалуйста, почему при создании нового массива, размерность создается, а сам массив не заполняется. Код: ...

Не заполняется массив
Здравствуйте, не передается заполненный массив и не понимаю в чем проблема: N = 15 void Print(int *a, int n) { for (int...

2
фрилансер
 Аватар для Алексей1153
6327 / 5459 / 1108
Регистрация: 11.10.2019
Сообщений: 14,523
09.06.2020, 18:13 2
---del---

сорри, наврал. Есть там значения, вот скрин
Миниатюры
Массив заполняется нолями  
0
фрилансер
 Аватар для Алексей1153
6327 / 5459 / 1108
Регистрация: 11.10.2019
Сообщений: 14,523
09.06.2020, 18:35 3
вот так взлетит
C++ Скопировано
1
        std::cout <<std::setfill('0')<<std::setw(2)<< std::hex<< (uint32_t)ciphertext[i] << std::endl;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.06.2020, 18:35
Помогаю со студенческими работами здесь

Не заполняется массив
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; using namespace std; int m, n, a, b, c; int mas; int masd; int _tmain(int argc,...

Не заполняется массив
Не заполняет массив mass1. Когда к нему добавляет единицу, все равно оставляет внутри него один мусор, но если изначально в отдельном цикле...

Массив не заполняется
Не могу понять почему массив не заполняется, при вводе 1 выдает 2, а при вводе 2 и больше выдает 0. Вот задача 1) Дано натуральное...

Динамический массив не заполняется
Дан двумерный массив размерностью nxm (n и m задаются с клавиатуры), заполненный целыми случайными числами. Сформировать одномерный массив,...

Массив не заполняется значениями
Проблема: почему программа не запоминает массив b? int main(){ int n=10; for (int i=0; i&lt;n; i++) { ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Безопасность кластеров Apache Kafka
Javaican 14.03.2025
Apache Kafka стал одним из ключевых компонентов современных архитектур, обрабатывающих потоки данных в режиме реального времени. Его используют тысячи компаний от стартапов до технологических. . .
Контейнеризация ML моделей с помощью Docker и Kubernetes
Mr. Docker 14.03.2025
Перенос ML-моделей из лаборатории в продакшн сопровождается целым комплексом проблем. Нередко код, который отлично работает на локальной машине, отказывается функционировать в промышленной среде. . . .
Организация масштабируемого хранилища с Apache Cassandra
Codd 14.03.2025
Изначально разработанная в Facebook, а затем переданная Apache Software Foundation, Cassandra сочетает в себе принципы Amazon's Dynamo и Google's BigTable. Эта комбинация создает уникальную. . .
Kafka или Pulsar: Что лучше для потоковой обработки в Java
Javaican 14.03.2025
Среди множества решений для потоковой обработки данных Apache Kafka долгое время удерживала лидирующие позиции, став де-факто стандартом в индустрии. Однако в последние годы всё больше внимания. . .
Создание и использование компонентов в Vue 3
Reangularity 14.03.2025
Компонент в Vue - это автономный блок интерфейса, который содержит собственную разметку, логику и стили. Представьте себе кнопку, форму ввода или даже целую панель навигации - всё это можно оформить. . .
Vue 3: Создаем современное веб-приложение с Composition API
Reangularity 14.03.2025
В фронтенд-разработке Vue 3 выделяется своим прагматичным подходом. В отличие от React с его минималистичной философией "всё — JavaScript" или Angular с его всеобъемлющим корпоративным подходом, Vue. . .
Разработка контекстных меню в iOS
mobDevWorks 14.03.2025
С приходом iOS 13 Apple представила новый API для контекстных меню, который полностью заменил предыдущую технологию 3D Touch peek & pop. Хотя многие разработчики и пользователи испытывают ностальгию. . .
Лучшие практики оптимизации Docker Image
Mr. Docker 13.03.2025
Размер Docker-образа влияет на множество аспектов работы с контейнерами. Чем больше образ, тем дольше его загрузка в реестр и выгрузка из него. Для команд разработки, работающих с CI/ CD пайплайнами,. . .
Вопросы на собеседовании по Docker
Mr. Docker 13.03.2025
Ты сидишь напротив технического специалиста, и вдруг звучит вопрос про Docker Swarm или многоэтапные сборки. Пот на лбу? Не переживай, после этой статьи ты будешь готов ко всему! Эта статья будет. . .
Поиск текста в сносках : замена дефиса на тире или тире на дефис...
РоΜа 13.03.2025
Нужно было найти текст в сносках и заменить. Почему-то метод селекшн не сработал. . . пришлось гуглить. найденный на форумвба код пришлось править. Смысл - заменяет в сносках дефисы и тире на нужные. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер