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

Как дополнить программу?

02.01.2018, 14:14. Показов 966. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, как внедрить код в программу

Код, доводящий ключ до новой длины:


C++
1
2
3
4
5
6
7
8
9
10
private string CorrectKeyWord(string input, int lengthKey)
{
    if (input.Length > lengthKey)
        input = input.Substring(0, lengthKey);
    else
        while (input.Length < lengthKey)
            input = "0" + input;
 
    return input;
}

Сама программа:

Delphi
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
program Project1;
{$APPTYPE CONSOLE}
uses
  SysUtils;
const n=4;
var k:array[1..n]of integer;
    fin,fout:file of integer;
    var i:integer;
    x1,x2,tmp:integer;
begin
   assign(fin,'k.txt');
   reset(fin);
   for i:=1 to n do
     read(fin,k[i]);
   close(fin);
   assign(fin,'t.txt');
   assign(fout,'t_crypt.txt');
   reset(fin);rewrite(fout);
   while (not eof(fin)) do
     begin
       read(fin,x1,x2);
       for i:=1 to n do
         begin
          tmp:=x1;
          x1:=(x1+k[i]) xor x2;
          x2:=tmp;
         end;
        tmp:=x1;x1:=x2;x2:=tmp;
        write(fout,x1,x2);
     end;
     close(fin);close(fout);
 
   assign(fin,'t_crypt.txt');
   assign(fout,'t_decrypt.txt');
    reset(fin);rewrite(fout);
   while (not eof(fin)) do
     begin
       read(fin,x1,x2);
       for i:=1 to n do
         begin
          tmp:=x1;
          x1:=(x1+k[n-i+1]) xor x2;
          x2:=tmp;
         end;
        tmp:=x1;x1:=x2;x2:=tmp;
        write(fout,x1,x2);
     end;
     close(fin);close(fout);
  
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.01.2018, 14:14
Ответы с готовыми решениями:

Как дополнить программу
Здраствуйте помогите пожалуйсто, есть код который считывает php скрипт при нажатии на кнопку &lt;script...

Как или чем дополнить программу?
Как или чем дополнить программу, для диплома специалиста? (прога в архиве) Она простенькая, я хочу её доделать что бы потянула на...

нужно дополнить программу на с++, так как одного выявленного значения недостаточно
Интерполяционная формула бесселя. Нужно выбрать функцию x*sin x. Выбрать интервал, вычислить значение функции в точках на сетке, затем...

10
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
02.01.2018, 14:41
А где у Вас в программе ключ и до какой длины его нужно довести?
0
0 / 0 / 1
Регистрация: 13.12.2017
Сообщений: 32
02.01.2018, 15:04  [ТС]
размер ключа должен быть 128 бит.

первоначальный ключ = 128.
но как быть, если размер ключа будет меньше или больше нужного
Вложения
Тип файла: txt k.txt (16 байт, 3 просмотров)
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
02.01.2018, 15:14
Ничего не понял. В файле записана строка
lostrockshowmeet
а Вы читаете оттуда 4 целых числа
Pascal
1
2
for i:=1 to n do
     read(fin,k[i]);
0
0 / 0 / 1
Регистрация: 13.12.2017
Сообщений: 32
02.01.2018, 15:48  [ТС]
каждые 4 байта считываются как целое число

Добавлено через 10 минут
то есть вообще первоначальная задача - расширить ключ, чтобы хватило его на 32 раунда
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
02.01.2018, 15:51
Цитата Сообщение от victory12 Посмотреть сообщение
fin,fout:file of integer;
Это типизированные файлы, которые создаются программно и должны содержать 4 целых числа.
А побайтовое чтение делается из файлов без типа f:file и чтение с помощью процедуры blockread.
0
0 / 0 / 1
Регистрация: 13.12.2017
Сообщений: 32
02.01.2018, 15:59  [ТС]
а как можно сделать так, чтобы добавлять файл любого размера, не только кратного 8
Вложения
Тип файла: txt t.txt (32 байт, 4 просмотров)
0
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
03.01.2018, 10:59
Цитата Сообщение от victory12 Посмотреть сообщение
Код, доводящий ключ до новой длины:
C++
1
2
3
4
5
6
7
8
9
10
private string CorrectKeyWord(string input, int lengthKey)
{
    if (input.Length > lengthKey)
        input = input.Substring(0, lengthKey);
    else
        while (input.Length < lengthKey)
            input = "0" + input;
 
    return input;
}
ничего не понял, прочитав тему. а приведенный код на Делфи выглядит так
Delphi
1
2
3
4
5
procedure CorrectKeyWord(var Input: string; KeyLength: word);
begin
  if Length(Input) > KeyLength then Input:= Copy(Input,1,KeyLength)
  else while Length(Input) < KeyLength do Input:= '0' + Input;
end;
1
Модератор
 Аватар для D1973
9917 / 6454 / 2455
Регистрация: 21.01.2014
Сообщений: 27,389
Записей в блоге: 3
03.01.2018, 11:41
Цитата Сообщение от DenNik Посмотреть сообщение
а приведенный код на Делфи выглядит так
не совсем... Вы написали процедуру, а в изначальном коде - функция (и нифига это не С++, С# скорее...)
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
03.01.2018, 11:42
Цитата Сообщение от D1973 Посмотреть сообщение
и нифига это не С++, С# скорее
Это ко мне, теги я поставил.
0
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
03.01.2018, 14:16
Цитата Сообщение от D1973 Посмотреть сообщение
а в изначальном коде - функция
подумаешь
Delphi
1
2
3
4
5
6
function CorrectKeyWord(Input: string; KeyLength: word): string;
begin
  if Length(Input) > KeyLength then Input:= Copy(Input,1,KeyLength)
  else while Length(Input) < KeyLength do Input:= '0' + Input;
  Result:= Input;
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.01.2018, 14:16
Помогаю со студенческими работами здесь

Вычислить среднее арифметическое чисел, находящихся в текстовом файле. Как дополнить программу?
Написать программу, которая вычисляет среднее арифметическое чисел, находящихся в текстовом файле F, и дописывает результат в конец этого...

Как дополнить программу копирования одновременным подсчетом суммы значений по столбцам в первую свободную ячейку внизу столбца?
Производится программное копирование диапазона ячеек с Листа1 в Лист2 (выборка из большой таблицы части значений). Значения ячеек -...

дополнить программу
каждый разрабатываемый класс должен как правило, содержать: скрытые поля, конструкторы с параметрами и без параметров, методы; свойства,...

Дополнить программу.
Надо дополнить прогу, 1): пользователь должен выбирать будет ли он сам вводить матрицу или прога произвольные числа поставит сама(это есть)...

Дополнить программу
Построить типизированный данных, который состоит из записей с такими полями: размер кубика, цвет кубика, материал. Найти количество...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru