Casear Cipher Brute Force Attack - каждый возможный ключ - PullRequest
0 голосов
/ 19 марта 2020

Мне нужна помощь с моим кодом. Я должен выяснить все возможные ключи в шифре Ceaser. В моем сообщении есть верхние строчные буквы и больше ничего. Но мои ключи повторяются в моем коде, но мне нужен каждый ключ, уникальный. Просьба помочь.

#include <stdio.h>
#include <string.h>
#include <ctype.h>

char cryptedText[]; //here could be any crypted text

int main()
    {
        for (int key = 0; key <= 52; ++key)
            {
                for (int i = 0; i < strlen(cryptedText); ++i)
                {
                    if (cryptedText[i] >= 'A' && cryptedText[i] <= 'Z')
                    {
                        printf("%c", ((cryptedText[i] - 'A' + key)%26 + 'A'));
                    }
                    else 
                    {
                        printf("%c", ((cryptedText[i] - 'a' + key)%26 + 'a'));
                    }
                }

            printf("Number of key %d\n", key);
            }
            return 0;
    }

1 Ответ

0 голосов
/ 19 марта 2020

Вам нужен способ отслеживать, какие ключи вы уже извлекли. Может быть, хранить их в наборе, который предназначен для хранения только уникальных значений. Затем вы можете распечатать все значения из набора в конце.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...