Kryptographie-Problem

Tutorials.at
Verfügbare Informationen zu "Kryptographie-Problem"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: Dirty Oerty - exbs
  • Forum: Tutorials.at
  • Forenbeschreibung: Programmierforum
  • aus dem Unterforum: C / C++
  • Antworten: 16
  • Forum gestartet am: Mittwoch 19.04.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Kryptographie-Problem
  • Letzte Antwort: vor 17 Jahren, 3 Monaten, 24 Tagen, 5 Stunden, 59 Minuten
  • Alle Beiträge und Antworten zu "Kryptographie-Problem"

    Re: Kryptographie-Problem

    Dirty Oerty - 01.01.2007, 21:21

    Kryptographie-Problem
    tag,

    kann sein, dass die frage recht einfach zu beantworten ist, aber wie bekomm ich es hin, dass mir in C die einzelnen zeichen eines strings nacheinander ausgegeben werden?
    brauch ich, um passwörter zu verschlüseln.

    falls die frage nich klar is:

    char *string = "SRf&23";
    char a = "S";
    char b = "R";
    char c = "f";
    .
    .
    .
    nur, dass string von benutzer eingegebn ist und damit also keinen festen wert hat.

    jemand ne idee???

    mfg
    daniel



    Re: Kryptographie-Problem

    exbs - 01.01.2007, 21:53


    Code: #include <stdio.h>
    #include <string.h>

    int main()
    {
        char string[256];
       
        fgets(string, 256, stdin); // <-- string wird eingelesen
        if (string[strlen(string) - 1] == '\n')
            string[strlen(string) - 1] = '\0';
       
        for (int x = 0; x < strlen(string); x++) // <-- hier wird jedes zeichen einzeln ausgegeben
            printf("%c\n", string[x]); 
    }
    meinst du sows in der richtung ?!

    in C gibt es keinen datntyp string nur ein char-array, deswegen kannst du jedes element eineln ausgeben.



    Re: Kryptographie-Problem

    Dirty Oerty - 02.01.2007, 00:15


    ja, jetzt is mir klar...

    ...ich hab nach irgendnem umdingensprozess gesucht, denn ich ma in ner andern sprache (c skript, da is string ein element) zu dem prob geschrieben hab, und hab die einfachste methode dafür übersehn... war wohl gestern zu lang auf :D

    dank dir

    mfg
    daniel



    Re: Kryptographie-Problem

    Dirty Oerty - 02.01.2007, 15:39


    hä??

    verschlüsseln und in ne datei schreiben geht etz, aber des wieder auslesen...

    mal n beispiel::

    zu verschlüsselnder string is "Daniel"

    ==> ind der datei steht sowas:

    27014
    26946
    25159
    25062
    11142
    11032
    15911
    15806
    30398
    30297
    20108
    20000

    siehts schon jemand?? :wink:

    27014
    26946

    rot minus grün = 68

    mal kurz nachschaun in der ACII - tabelle => ergibt buchstabe 'D'

    und genau so mit den restlichen zeilen, dann kommt ieder Daniel raus...

    nur das will nicht klappen, hier der code:::

    Code:
    char* dat_entschlsseln(FILE *dat)
    {
       long int a;
       long int b;
       char ch1[9999] ="";
       //char ch2[9999] ="";
       fscanf(dat,"%d",a);
       fscanf(dat,"%d",b);
       a -= b;
       sprintf(ch1,"%d",a);
       return ch1;
    }

    warum nich??



    Re: Kryptographie-Problem

    exbs - 02.01.2007, 16:15


    Was genau klappt denn net? Was steht denn dann "ch1" ? Also ich vermute mal, dass du die bei der Zeile "sprintf(ch1,"%d",a); " aus dem "%d" ein --> "%c" machen musst. weil du ja nicht die dezimal zahl sonder den char wert haben willst, sprich was ander stelle x inna ascii-tabelle steht.



    Re: Kryptographie-Problem

    Dirty Oerty - 02.01.2007, 19:08


    nunja, ausgegeben wird manchmal gar nichts und manchmal irgendne negative, 9stellige nummer...äh -846767680, ums genau zu sagen :? ...

    ...wenn ich
    Code:
    sprintf(ch1,"%c",a);

    schreibe, gibt er mir sowas aus::

    |_

    so ähnlich zumindest.

    achja::

    warum gibt mir der compiler ne warnung bei der zeile aus?
    Code:
    benutzer_dat = fopen (&name_c,"a+");



    Re: Kryptographie-Problem

    exbs - 02.01.2007, 20:26


    Dirty Oerty hat folgendes geschrieben: nunja, ausgegeben wird manchmal gar nichts und manchmal irgendne negative, 9stellige nummer...äh -846767680, ums genau zu sagen :? ...
    Das sieht mir ganz danach aus als wäre der array leer, denn meistens kommen dann sone zahlen.
    Dirty Oerty hat folgendes geschrieben: warum gibt mir der compiler ne warnung bei der zeile aus?
    Code:
    benutzer_dat = fopen (&name_c,"a+");
    Warum gibst du als dateiname die addresse von "name_c" an ( & ) ... lass einfach das " & " weg, dann müsst es gehn.

    Code: #define MAX 10

    char* dat_entschlsseln(FILE *dat)
    {
       long int zahl1, zahl2;
       int tmp;   
       char ch1[256], a[MAX], b[MAX];
       
       fgets(a, MAX, dat);
       if (a[strlen(a) - 1] == '\n')
           a[strlen(a) - 1] = '\0';
       zahl1 = atoi(a);
       
       fgets(b, MAX, dat);
       if (b[strlen(b) - 1] == '\n')
           b[strlen(a) - 1] = '\0';
       zahl2 = atoi(b);
       
       tmp = a - b;
       
       ch1[x] = (char)a;
       
       return ch1;
    } soo habe ich es jetzt mal schnell gemacht, weil ich bei dir den fehler net fand. sieht lang aus, isses och probier einfach rum ... mmh du müsstest, das ganze aba noch ina schleife realisieren, damit du dem richtigen array-element von ch1 auch dein buchstaben zu weist.

    ch1[0], ch1[1] ... ch1[x] soo halt.



    Re: Kryptographie-Problem

    Dirty Oerty - 02.01.2007, 23:34


    Zitat: Warum gibst du als dateiname die addresse von "name_c" an ( & ) ... lass einfach das " & " weg, dann müsst es gehn.

    nun ja, weiß selber net, aber wenn ichs weglass, dann spuckt der mir nen fehler aus und bricht ab. da hab ich dann lieber "bloß" ne warnung.

    den code probier ich morgn mal aus, ich schreib dann, ob er funktioniert.

    mfg
    daniel



    Re: Kryptographie-Problem

    exbs - 02.01.2007, 23:45


    Zitat: nun ja, weiß selber net, aber wenn ichs weglass, dann spuckt der mir nen fehler aus und bricht ab. da hab ich dann lieber "bloß" ne warnung. Was denn für einen? Welchen compiler verwendest du ?



    Re: Kryptographie-Problem

    Dirty Oerty - 03.01.2007, 01:27


    compiler genau weiß nicht,

    ich verwend Turbo C++ von Borland. damit kann man auch in C schreiben.



    Re: Kryptographie-Problem

    exbs - 03.01.2007, 02:11


    jo kann man mit jedem c++ compiler ... aba für mich persöhnlich wäre das net die erste wahl, weil ich die optik und das handling usw net sehr ansprechend find. ausserdem höre ich oft von wleuten, bei denen die fehler (oda probs) eigl nur dur TC verursacht werden. schau dich doch bei gelegenheit ruhig mal nach einem anderen compiler um.



    Re: Kryptographie-Problem

    Dirty Oerty - 04.01.2007, 12:41


    nunja, ich hatte erst vor, mir Dev C oder wie der heißt runterzuladen, allerdings funktioniert des nich, die downloadpage da is misserabel...

    und sonst kenn ich nichts, google spuckt ja auch nur unnützes zeug aus, wenn man nach nem C compiler oder ner C IDE sucht...



    Re: Kryptographie-Problem

    exbs - 04.01.2007, 14:11


    Ach es gibt schon sehr viele.

    Dev-Cpp findest du sicher auch auf einem anderen Mirror.
    CodeBlocks kann ich dir auch noch nennen.
    Und VisualExpress von M$ oda so heisst das is auch kostelos.

    Hast du denn dein Prob gelöst bekommen ?



    Re: Kryptographie-Problem

    Dirty Oerty - 04.01.2007, 14:26


    wegen den compilern schau ich dann mal..

    mein prob? ne, der code von dir läuft auch nich ganz richtig, da kommt ne ausgabe raus... :shock: ....

    http://aboutbluecat.ab.funpic.de//prob.bmp



    Re: Kryptographie-Problem

    exbs - 04.01.2007, 15:28


    :shock:
    am besten wäre es wohl wenn du mehr vom code posten würdest. wenn du willst :wink: .



    Re: Kryptographie-Problem

    Dirty Oerty - 04.01.2007, 15:50


    der complete code:
    Code:

    //---------------------------------------------------------------------------

    #define MAX 10

    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    #include <stdlib.h>
    #include <string.h>
    #include <ctype.h>
    #include <setjmp.h>
    #pragma hdrstop

    //---------------------------------------------------------------------------

    #pragma argsused
    //-----Variablen-----------------------------------------------------------Va
    int eingabe;
    char name_c[7];
    char passw[7];
    char txt_str1;
    char r4444[100];
    FILE *benutzer_dat;

    //-------------------------------------------------------------------------Ve
    //-----Prototypen----------------------------------------------------------Pa


    //-------------------------------------------------------------------------Pe

    char* dat_entschlsseln(FILE *dat)
    {
       long int zahl1, zahl2;
       int tmp;   
       char ch1[256], a[MAX], b[MAX];

       fgets(a, MAX, dat);
       if (a[strlen(a) - 1] == '\n')
           a[strlen(a) - 1] = '\0';
       zahl1 = atoi(a);

       fgets(b, MAX, dat);
       if (b[strlen(b) - 1] == '\n')
           b[strlen(a) - 1] = '\0';
       zahl2 = atoi(b);
       
       tmp = a - b;
       
       ch1[0] = (char)a;
       
       return ch1;
    }


    char* str_verschlsseln(char str_in[1000])
    {
       int laenge;
       int n = 0;
       long int x;    //long
       long int y;    //
       char str_ret[9999] ="";
       char abc[10] = "";
       char def[99] = ""; //
       srand (time (NULL)); //
       laenge = strlen(str_in);
       do
       {
          x = (long int) str_in[n];   //long
          y = rand(); //
          x += y;//
          n+=1;
          sprintf(abc,"%d",x);
          strcat(str_ret,abc);
          strcat(str_ret,"\n");
          sprintf(def,"%d",y);//
          strcat(str_ret,def);//
          strcat(str_ret,"\n");//
       }
       while(n<laenge);
       return str_ret;
    }


    int main(int argc, char* argv[])
    {
       printf ("Hallo! \nDas hier ist ein Notizprogramm.\n");
       printf ("Du kannst mit diesem Programm passwortgeschuetzte Notizen erstellen.");
       printf ("\nUm durchs Programm zu steuern, gibt es bestimmte Befehle.\n");
       printf ("Einen Ueberblick ueber die Befehle bekommst du durch \"111\"");
       printf ("\n\nHAUPTMENU\n\n--------------------\n");
       printf ("  0  - Beenden\n");
       printf ("  1  - Neues Profil anlegen\n");
       printf ("  2  - Anmelden\n");
       printf (" 111 - Hilfe\n");
       printf ("\n--------------------\n");
       printf ("Eingabe:");
       fflush(stdin);
       scanf ("%d",&eingabe);
       if(eingabe==1)
       {
          printf ("\n\nNeues Profil wird angelegt...");
          while(1)
          {
             printf ("\nGib bitte deinen Namen an (max 6 Stellen).\n");
             printf ("Eingabe: ");
             fflush(stdin);
             scanf ("%6s",&name_c);
             printf ("\n\n--------------------\n");
             printf ("\nHallo %6s !",&name_c);
             printf ("\n\nNun musst du noch ein Passwort angeben (max 6 Stellen).");
             printf ("\nEingabe: ");
             fflush(stdin);
             scanf ("%6s",&passw);
             printf ("\nUeberpruefen...");
             benutzer_dat = fopen (&name_c,"r+");
             if(benutzer_dat == 0)
             {
                break;
             }
             fclose (benutzer_dat);
             printf ("\n\nDieser Benutzer existiert schon!!!!!!");
          }
          printf ("\n\n\n--------------------\n");
          printf ("\nBenutzername: %s",&name_c);
          printf ("\nPasswort    : %s",&passw);
          printf ("\n\nMerke dir deine Daten gut, wenn du sie vergisst, ist");
          printf ("\nes nicht mehr moeglich, auf deine Notizen zuzugreifen!");
          benutzer_dat = fopen (&name_c,"a+");
          if(benutzer_dat==0)
          {
             printf ("Es ist ein Fehler aufgetretten! Programm wird beendet!");
             getch();
             abort ();
          }
          fprintf(benutzer_dat,"%s",str_verschlsseln(name_c));
          fprintf(benutzer_dat,"\n");
          fprintf(benutzer_dat,"%s",str_verschlsseln(passw));
          printf ("\n\n\nWARTE AUF EINGABE - BITTE TASTE DRUECKEN !");
          getch();
          clrscr();
          printf ("Dein Profil wurde erstellt, %s",&name_c);
          printf ("\n\nDu kannst dich nun vom Hauptmenu aus anmelden.");
       }
       printf("%s",dat_entschlsseln(benutzer_dat));
       getch();
       return 0;
    }
    //---------------------------------------------------------------------------



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Tutorials.at

    HTML/ PHP - gepostet von gs93 am Dienstag 17.10.2006
    GUI mit BASIC - gepostet von BASIC am Mittwoch 09.08.2006
    Voice Controll - gepostet von Dirty Oerty am Donnerstag 12.04.2007
    gcc Fehler: WTF??? - gepostet von DrPhil_Guth am Sonntag 16.09.2007
    C++ Buch - gepostet von Cookie am Dienstag 12.09.2006
    Ich Verstehe nicht was das ganze Variable ist - gepostet von Fro0zen am Sonntag 17.09.2006
    Zähler in C - gepostet von mitti am Montag 14.05.2007
    EXE-Dateien in Visual Pascal??? - gepostet von Robin21 am Sonntag 25.06.2006
    Wurzelberechnung - gepostet von Kimi am Samstag 17.11.2007



    Ähnliche Beiträge wie "Kryptographie-Problem"

    Wir haben ein Problem!!! - Langi (Freitag 09.11.2007)
    Hassu N Problem ????? - Anonymous (Montag 13.12.2004)
    schon das erste problem.... :-( - jonnyb (Donnerstag 21.06.2007)
    Ein PC NooB hat ein Sound Problem - Vergil (Mittwoch 31.10.2007)
    Problem - Dragonfly (Samstag 21.07.2007)
    Rießen Problem!!Bitte alle lesen!!!! - Jule14 (Samstag 07.01.2006)
    !!! kleines Problem bei Bundesliga 05/06 !!! - bundesliga0506 (Mittwoch 20.07.2005)
    Point of Existence 2 Mod Singleplayer Problem! - dirtrunner (Dienstag 05.09.2006)
    Und noch ein Altbekannter Aero - BAUR547 (Donnerstag 03.11.2011)
    USKO - ServerLogin Problem "Disconnected from Server&qu - rauron (Freitag 21.04.2006)