Ergebnis 1 bis 10 von 12

Baum-Darstellung

  1. #1
    Stiller Leser
    Registriert seit
    03.10.2008
    Beiträge
    3

    Frage Caesar Chiffre - Problem

    Hey Leutz,
    da ich das Programmieren in letzter Zeit leider etwas vernachlässigt habe wollte ich mal wieder iwas coden. Da bin ich zufällig auf das Thema Verschlüsselung gestoßen. Dann hab ich mir die einfachste Verschlüsselung, die Caesar Chiffre, rausgesucht die man finden kann und nun wollte ich diese im Bereich C/C++ anwenden.

    Nun ergibt sich bei mir folgendes Problem: Sobald ich einen zu hohen Integerwert festlege, kommt bei der Entschlüsselung teilweise "Crap" raus...
    Ich habe folgendes Beispiel ausgewählt: Text: TopSecretTextVeryDangerous ; Integerwert: 9

    Wisst ihr vllt. woran es liegen könnte?

    Code:
    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main()
    {
        char Alpha[53] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    
        cout << "Bitte geben Sie einen Text ein, welcher verschluesselt werden soll:\n";
        char text[2048]; //255
        cin >> text;
        cout << "Bitte geben Sie ihren persoenlichen Verschluesselungs-Integerwert ein: ";
        int ver;
        cin >> ver;
        int length;
        length = strlen(text);
    
        int enci;
        int enca;
        for (enci=0; enci<length; enci++)
        {
            int j;
            for (j=0; j<55; j++)
            {
                if(text[enci] == Alpha[j])
                {
                    enca = j;
                    j=100;
                }
                else
                {}
            }
    
            enca = enca + ver;
    
            if(enca>53)
            {
                enca = ver-1;
            }
            
            text[enci] = Alpha[enca];
        }
    
        cout << "Der verschluesselte Text lautet nun: " << text << endl;
    
        int deci;
        int deca;
        for (deci=0; deci<length; deci++)
        {
            int j;
            for (j=0; j<55; j++)
            {
                if(text[deci] == Alpha[j])
                {
                    deca = j;
                    j=100;
                }
                else
                {}
            }
            deca = deca-ver;
    
            if(deca<0)
            {
                deca = 53 - (ver-1);
            }
    
            text[deci] = Alpha[deca];
        }
    
        cout << "Entschluesselung: " << text << endl;
    
        system("pause");
        return 0;
    }
    Geändert von chilliboy999 (22.11.2010 um 01:31 Uhr)

Ähnliche Themen

  1. Caesar unter C
    Von joey im Forum C, C++
    Antworten: 2
    Letzter Beitrag: 25.11.2008, 19:53

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •