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

Шифрование заменой - C++

Восстановить пароль Регистрация
 
vveronikka
0 / 0 / 0
Регистрация: 27.04.2014
Сообщений: 65
29.05.2014, 07:02     Шифрование заменой #1
Нужно провести шифрование текстовой информации заменой части символов. Есть код Паскаль. Помогите, пожалуйста
Pascal
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
const
txt1='Privet Privet'#2;
txt2='Shifrovanie textovoy informacii zamenoy chasti simvolov';
var
I:byte;
C:char;
Line:string[$FF];
ShiftTab:array[1..255] of byte;
procedure ChangeCharNum (var C:char);
begin
case C of
#007..#010:    C:=Chr(Ord(C)+243);
#013:          C:=#254;
#026:          C:=#255;
#250..#253:    C:=Chr(Ord(C)-243);
#254:          C:=#013;
#255:          C:=#026;
end;
Exit;
end;
begin
Line:=txt1+txt2;
writeln(line);
randomize;
for I:=1 to Length(line) do
ShiftTab[I]:= Random (250);
ChangeCharNum (Line[I]);
for I:=1 to Length(line) do begin
ChangeCharNum (Line[I]);
if Line[I]<=#250 then
Line[I]:=Chr((Ord(Line[I])+250-ShiftTab[I]) mod 250);
ChangeCharNum (Line[I]);
end;
writeln(Line);
for I:=1 to Length(line) do begin
ChangeCharNum (Line[I]);
if Line[I]<=#250 then
Line[I]:=Chr((Ord(Line[I])+ShiftTab[I]) mod 250);
ChangeCharNum (Line[I]);
end;
Write(line);
writeln;
writeln;
writeln;
Halt;
end.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2014, 07:02     Шифрование заменой
Посмотрите здесь:

C++ Написать программу копирования файла с заменой пробелов на символ |.
C++ поиск с заменой с использованием шаблонов в середине фрагмента эталона для поиска
C++ Шифровка табличной заменой
C++ Проблемы с заменой в массиве числа на символ
C++ Программа с массивом, с заменой эелементов
C++ Помощь в задаче с заменой
C++ Задача, связанная с заменой текста в файлах
C++ Матрица с заменой столбца на введенный вами столбец

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4296 / 3717 / 1251
Регистрация: 14.04.2014
Сообщений: 14,536
29.05.2014, 10:42     Шифрование заменой #2
Без 27-й строки и без #2 в txt1.
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
#include "stdafx.h"
#include <iostream>
#include <string>
#include <ctime>
 
using namespace std;
 
void ChangeCharNum(char &c)
{
    unsigned char *pc = (unsigned char *)&c;
    if(*pc >= 7 && *pc <= 10) *pc += 243;
    else
        if(*pc == 13) *pc = 254;
        else
            if(*pc == 26) *pc = 255;
            else
                if(*pc >= 250 && *pc <= 253) *pc -= 243;
                else
                    if(*pc == 254) *pc = 13;
                    else
                        if(*pc == 255) *pc = 26;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    string txt1 = "Privet Privet ";
    string txt2 = "Shifrovanie textovoy informacii zamenoy chasti simvolov";
 
    unsigned char ShiftTab[255];
 
    string Line = txt1 + txt2;
    cout << Line << endl;
    srand(time(NULL));
    for(unsigned int i = 0; i < Line.length(); i++) ShiftTab[i] = rand() % 255;
    for(unsigned int i = 0; i < Line.length(); i++)
    {
        ChangeCharNum(Line[i]);
        if((unsigned char)Line[i] <= 250) Line[i] = ((unsigned char)Line[i] + 250 - ShiftTab[i]) % 250;
        ChangeCharNum(Line[i]);
    }
    cout << Line << endl;
    for(unsigned int i = 0; i < Line.length(); i++)
    {
        ChangeCharNum(Line[i]);
        if((unsigned char)Line[i] <= 250) Line[i] = ((unsigned char)Line[i] + ShiftTab[i]) % 250;
        ChangeCharNum(Line[i]);
    }
    cout << Line << endl << endl;
 
    system("pause");
    return 0;
}
Yandex
Объявления
29.05.2014, 10:42     Шифрование заменой
Ответ Создать тему
Опции темы

Текущее время: 23:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru