Passwortabfrage, 1 Fehler



  • Hi

    wollte eine Passwortabfrage machen. Habe mir das sooooo gedacht:

    #include <iostream>
    
    using namespace std;
    
    int main ()
    
    {
    	int result
    	int code;
    	float name;
    	float richtig;
    
    	cout<< " Wie lautet ihr Name?" << endl;
    	cin >> name;
    	richtig = Patrick;
    	cin >> code;
    	code = name == richtig;
    
     	return 0;
    

    Wie lautet ihr Name:
    Patrick // sollte die richtige antwort sein.
    Danch wird in der Variablen richtig (wenn das ne Variable ist..., ich hoffe ihr wisst was ich meine) Patrick abgelegt.
    Danach muss man den code (Passwort eingeben) das ist "1"
    danach wird verglichen. "richtig" wird mit "name" verglichen. Da es ja ein boolischer wert ist müsste das wenn es richtig ist 1 sein. Wenn das PW "code" auch 1 ist, müsste das doch eigendlich laufen?!?!

    oder habe ich da falsch gedacht??? lasse mich gern besser belehren...

    danke im voraus!!! 🙂

    cu P4D



  • Häh?! Du kannst mir nicht verzählen, dass du den Code compilieren kannst.



  • Du solltest Dir evtl. mal Gedanken machen was für einen Variablentyp eine Variable haben muss, wenn ein Name in ihr gespeichert werden soll 😉

    float name; // dürfte nicht sonderlich zielführend sein
    

    Legolas



  • Optimizer schrieb:

    Häh?! Du kannst mir nicht verzählen, dass du den Code compilieren kannst.

    Warum sollte er ihn nicht uebersetzen koennen? (Mal abgesehen, von der fehlenden '}')

    Ansonsten schliesse ich mich Legolas an, deine Variablennamen haben fuer ihren Typ nicht den
    entsprechenden Namen.

    So sollte eine Variable 'name' vom Typ std::string sein, damit man einen Namen darin speichern
    kann.

    mfg
    v R



  • virtuell Realisticer schrieb:

    Optimizer schrieb:

    Häh?! Du kannst mir nicht verzählen, dass du den Code compilieren kannst.

    Warum sollte er ihn nicht uebersetzen koennen? (Mal abgesehen, von der fehlenden '}')

    Weil es spätestens bei

    richtig = Patrick;
    

    kracht. Und noch aus tausend anderen Gründen. Bevor man nen Quellcode postet, sollte man ihn halt mal wenigstens versuchen zu compilieren 😉
    Das wollte ich damit sagen.



  • ich habe ihn ja versucht zu complieren,

    und da wurde mir 1 fehler angezeigt.

    Wie sich das anhört, taugt aber der quellcode nichts. Kann mir denn jemand mal nen Quellcode mit ner PW abfrage posten, dass ich sehe wie sowas aussieht?!

    danke p4d



  • #include <iostream>
    #include <string.h>
    
    int main()
    {
       char passwort_richtig[255]="patrick";
       char passwort_lesen[255];
    
       cout <<"Passwort eingeben: "<<;
       cin  >> passwort_lesen;
       if((strcmp(passwort_richtig,passwort_lesen))==0)
       {
         cout <<"\nYou logged in"<<;
         return 0;
       }
       cout <<"\nHey you sucker, your password is wrong!!!");
       return 0;
    }
    

    Nicht getestet!

    Aber jeder 0815 Cracker kann dir das Programm mit einem disassembler zerlegen und sieht sovor wie das Passwort heißt oder ändert einfach die Sprungmarke!!!



  • Hi,

    man merkt, daß das nicht getestet ist.

    um das mal richtig zu stellen:

    #include <iostream> 
    #include <string> 
    
    int main() 
    { 
       std::string passwort_richtig = "patrick"; 
       std::string passwort_lesen; 
    
       std::cout <<"Passwort eingeben: "; 
       std::cin  >> passwort_lesen; 
       if(passwort_richtig != passwort_lesen) 
       { 
         std::cout <<"\nHey you sucker, your password is wrong!!!"; 
        return 0;
    
       } 
    
        std::cout <<"\nYou logged in"; 
        return 0; 
    }
    

    grüße Con@n


Anmelden zum Antworten