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

Шифровка дешифровка пароля

18.03.2020, 13:17. Показов 484. Ответов 11
Метки нет (Все метки)

Помогите пожалуйста дописать код
Но он только шифрует нужно что-бы он и дешифровал шифрованный код

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
#include <iostream>
#include <random>
#include <time.h>
#include <string>
#include <iomanip>
#include <stdio.h>
#include <Windows.h>
#include <math.h>
using namespace std;
 
int main()
{
    srand(time(NULL));
    string key = " abcdefghijklmnopqrstuvwyz";
    string alpha[] = {" ","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"};
   
    string word;
    string result;
 
    cout << "Enter word\n";
    getline(cin, word);
    
    for (int i = 0; i < word.length(); i++)
    {
        for (int j = 0; j < 25; j++)
        {
            if (word[i] == key[j])
            {
                result += alpha[j];
            }
        }
    }
    cout << result << "\n";
 
    string kod = "111213";
    string temp;
    for (int i = 0; i <= kod.length(); i++)
    {
        temp += kod[kod.length()-2];
        temp += kod[kod.length()-1];
        cout << temp;
        kod.erase(kod.length() - 2, kod.length() - 1);
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2020, 13:17
Ответы с готовыми решениями:

Шифровка/дешифровка пароля/логина
Возникла проблема) Ситуация такая. Есть Логин и Пароль . Нужно их шифрануть. Есть алгоритм...

шифровка/дешифровка
Помогите пожалуйста. Надо написать прогу, которая шифрует/дешифрует введеный текст. (конкретно мне...

Шифровка и дешифровка текста
Помогите, пожалуйста, кто может. Буду очень благодарен. Написать программу шифровки и дешифровки...

Шифровка и дешифровка текстового сообщения
Помогите ,пожалуйста.Задание: написать программу шифровки и дешифровки текстового сообщения....

11
Модератор
Эксперт CЭксперт С++
4422 / 3990 / 742
Регистрация: 07.10.2015
Сообщений: 8,312
18.03.2020, 13:45 2
Dimanic, пробел в alpha[] длины 1. Так и должно быть?
0
0 / 0 / 0
Регистрация: 18.09.2019
Сообщений: 85
18.03.2020, 13:47  [ТС] 3
Так и должно
0
Модератор
Эксперт CЭксперт С++
4422 / 3990 / 742
Регистрация: 07.10.2015
Сообщений: 8,312
18.03.2020, 16:05 4
Dimanic, с такой регулярной кодировкой я бы сделал так:
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
#define _CRT_SECURE_NO_WARNINGS
 
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <string>
 
using namespace std;
 
int main()
{
    unsigned int i;
    srand(time(NULL));
//  string key = " abcdefghijklmnopqrstuvwyz";
//  string alpha[] = { " ","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" };
 
    string word;
    string kod;
    char   buf[16];
 
    cout << "Enter word\n";
    getline(cin, word);
 
    for (i = 0; i < word.length(); i++)
    {
        if (word[i] == ' ')
            kod += ' ';
        else
            kod += _itoa(word[i]-'a'+10, buf, 10);
    }
    cout << kod << "\n";
 
    string temp;
    for (i = 0; i < kod.length(); i++)
    {
        if (kod[i] == ' ')
            temp += ' ';
        else
        {
            temp += (char)((kod[i] & 0x0f) * 10 + (kod[i + 1] & 0x0f) + 'a' - 10);
            i++;
        }
    }
    cout << temp << "\n";
}
1
0 / 0 / 0
Регистрация: 18.09.2019
Сообщений: 85
18.03.2020, 17:06  [ТС] 5
_itoa Это функция или что, просто она не инициализирована, и это единственная ошибка на которую ругается?
0
Модератор
Эксперт CЭксперт С++
4422 / 3990 / 742
Регистрация: 07.10.2015
Сообщений: 8,312
18.03.2020, 17:16 6
Dimanic, _itoa() - функция записи числа строкой.
На чем пишите? Если не находится _itoa(), может есть itoa()?

Добавлено через 4 минуты
Да, и для нее необходимо:
C++
1
#include <stdlib.h>
0
0 / 0 / 0
Регистрация: 18.09.2019
Сообщений: 85
18.03.2020, 20:44  [ТС] 7
В Visual Studio работаю.

Вот когда с _itoa() ошибки и предупреждение:
Предупреждение C4244 аргумент: преобразование "time_t" в "unsigned int", возможна потеря данных
Ошибка C4996 '_itoa': This function or variable may be unsafe. Consider using _itoa_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

Вот когда itoa() ошибки и предупреждение:
Предупреждение C4244 аргумент: преобразование "time_t" в "unsigned int", возможна потеря данных
Ошибка C4996 'itoa': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _itoa. See online help for details.
0
Модератор
Эксперт CЭксперт С++
4422 / 3990 / 742
Регистрация: 07.10.2015
Сообщений: 8,312
19.03.2020, 10:22 8
Цитата Сообщение от Dimanic Посмотреть сообщение
_CRT_SECURE_NO_WARNINGS
Вы внимательно смотрели мой код?
Что написано в самом начале?
Первое предупреждение из-за srand(time(NULL));Его можно проигнорировать
0
0 / 0 / 0
Регистрация: 18.09.2019
Сообщений: 85
19.03.2020, 17:05  [ТС] 9
Так оно только шифрует а должно и расшифровывать
0
Модератор
Эксперт CЭксперт С++
4422 / 3990 / 742
Регистрация: 07.10.2015
Сообщений: 8,312
19.03.2020, 17:53 10
Dimanic, еще раз спрашиваю:
Цитата Сообщение от liv Посмотреть сообщение
Вы внимательно смотрели мой код?
Сначала шифрует, потом зашифрованную строку расшифровывает
0
0 / 0 / 0
Регистрация: 18.09.2019
Сообщений: 85
19.03.2020, 17:57  [ТС] 11
Вот код и он только шифрует
И он только так работает в других случаях ошибка

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
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <string>
 
//#define _CRT_SECURE_NO_WARNINGS
using namespace std;
 
int main()
{
    unsigned int i;
    //srand(time(NULL));
    //  string key = " abcdefghijklmnopqrstuvwyz";
    //  string alpha[] = { " ","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" };
 
    string word;
    string kod;
    char   buf[16];
 
    cout << "Enter word\n";
    getline(cin, word);
 
    for (i = 0; i < word.length(); i++)
    {
        if (word[i] == ' ')
            kod += ' ';
        else
            kod += _itoa_s(word[i] - 'a' + 10, buf, 10);
    }
    cout << kod << "\n";
 
    string temp;
    for (i = 0; i < kod.length(); i++)
    {
        if (kod[i] == ' ')
            temp += ' ';
        else
        {
            temp += (char)((kod[i] & 0x0f) * 10 + (kod[i + 1] & 0x0f) + 'a' - 10);
            i++;
        }
    }
    cout << temp << "\n";
}
0
Модератор
Эксперт CЭксперт С++
4422 / 3990 / 742
Регистрация: 07.10.2015
Сообщений: 8,312
19.03.2020, 18:08 12
Dimanic, проблема в том, что _itoa() и itoa_s() по-разному работают!
_itoa() возвращает адрес буфера, а itoa_s() возвращает код ошибки!
Поэтому, если хотите использовать itoa_s(), то надо это делать заранее! И писать потом kod += buf;
Учитесь искать информацию по используемым функциям самостоятельно, иначе никогда не научитесь программировать.

Проще всего, скопируйте мой код!

Как Вы поняли, Ваш код шифрует неверно!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2020, 18:08

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Шифровка/Дешифровка методом Карно (поворота решеткой)
Пожалуйста у кого есть дайте код шифровки/дешифровки,облазил много много станиц ничего подходящего...

Шифровка/дешифровка
Написать программу шифровки/дешифровки методом биграмм! НА сайте не нашёл &gt;&gt; создал тему!

Шифровка и дешифровка
Составить программы шифровки и дешифровки текстов с помощью ключевой фразы Сначала составим ...

Шифровка-дешифровка
Помогите пожалуйста !Необходимо создать программу,которая будет зашифровывать,и дешифровывать слово...


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

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

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