Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Program do tworzenia konta i logowania do niego

Ostatnio zmodyfikowano 2015-11-30 09:23
Autor Wiadomość
Pete12234
Temat założony przez niniejszego użytkownika
Program do tworzenia konta i logowania do niego
» 2015-11-29 17:12:58
Witam.
Na pracę domową z informatyki dostałem zadanie, aby zrobić program, który najpierw będzie zapisywał zaszyfrowane dane, które poda użytkownik, a później, podczas logowania, wypisywał komunikat, czy próba się powiodła czy nie. No i nie działa. Z góry dzięki za pomoc :D
Kod wygląda tak:
C/C++
#include<iostream>
#include<fstream>
#include<string>
using namespace std;

string szyfruj( string & tekst )
{
    for( int i = 0; i < tekst.size(); i++ )
    {
        char a =( tekst[ i ] + 3 ) - 1;
        tekst[ i ] = a;
    }
    return tekst;
}

string deszyfruj( string & tekst )
{
    for( int i = 0; i < tekst.size(); i++ )
    {
        char a =( tekst[ i ] - 3 ) + 1;
        tekst[ i ] = a;
    }
    return tekst;
}
struct konto
{
    string login;
    string haslo;
};

int main()
{
    int wybor;
    konto dane;
    string lo;
    string ha;
    string l;
    string h;
    fstream logino;
    fstream hasloo;
    ofstream login( "login.txt" );
    ofstream haslo( "haslo.txt" );
   
    cout << "[1] Zaloguj" << endl;
    cout << "[2] Utworz konto" << endl;
    cin >> wybor;
   
    switch( wybor )
    {
    case 1:
        logino.open( "login.txt" );
        hasloo.open( "haslo.txt" );
        getline( logino, l )
        cout << l;
        deszyfruj( l );
        getline( hasloo, h );
        deszyfruj( h );
        do
        {
            cout << "Podaj login" << endl;
            cin >> lo;
            cout << "Podaj haslo" << endl;
            cin >> ha;
            if( ha != h || lo != l )
            {
                cout << "Niepoprawny login lub haslo" << endl;
                cout << "Podaj login" << endl;
                cin >> lo;
                cout << "Podaj haslo" << endl;
                cin >> ha;
            }
            else
            {
                cout << "Zostales pomyslnie zalogowany!" << endl;
            }
        } while( l == lo || h == ha );
       
        break;
    case 2:
        cout << "Podaj login" << endl;
        cin >> dane.login;
        cout << "Podaj haslo" << endl;
        cin >> dane.haslo;
        szyfruj( dane.login );
        login << dane.login;
        szyfruj( dane.haslo );
        haslo << dane.haslo;
        break;
    }
   
    return 0;
}
P-141103
mateczek
» 2015-11-29 17:46:29
C/C++
#include<iostream>
#include<fstream>
#include<string>
using namespace std;

string & szyfruj( string & tekst )
{
    for( char & a: tekst )
         a += 3;
   
    return tekst;
}

int main()

{
    fstream plik;
    int wybor;
    string login, haslo, klawiaturaLogin, klawiaturaHaslo;
   
    cout << "[1] Zaloguj" << endl;
    cout << "[2] Utworz konto" << endl;
    cin >> wybor;
   
    switch( wybor )
    {
    case 1:
       
        plik.open( "login.txt", std::ios::in );
        plik >> login >> haslo;
        plik.close();
       
        while( 1 )
        {
            cout << "podaj login i haslo" << endl;
            cin >> klawiaturaLogin >> klawiaturaHaslo;
            if( szyfruj( klawiaturaLogin ) != login ) continue;
           
            if( szyfruj( klawiaturaHaslo ) != haslo ) continue;
           
            cout << "zalogowano pomyślnie" << endl;
            break;
        }
       
        break;
    case 2:
       
       
        plik.open( "login.txt", std::ios::out );
        cout << "Podaj login i haslo" << endl;
        cin >> klawiaturaLogin >> klawiaturaHaslo;
        plik << szyfruj( klawiaturaLogin ) << " " << szyfruj( klawiaturaHaslo );
        plik.close();
        break;
    }
   
    return 0;
}

procedura deszyfruj jest nie potrzebna (do prawdziwego szyfrowania używa się algorytmów które nie mają opcji deszyfracji - jednostronne) !!!
deszyfrując w programie ułatwiasz crackowanie :P tak na przyszłość:P  Szyfrujesz hasło i porównujesz z zaszyfrowanym z pliku !!!
P-141104
Gibas11
» 2015-11-29 22:42:40
Jeżeli nie da się odszyfrować to nie ma mowy o szyfrowaniu, to już hashowanie. Tak na przyszłość.
P-141135
mateczek
» 2015-11-30 09:23:27
Jeżeli nie da się odszyfrować to nie ma mowy o szyfrowaniu, to już hashowanie
oto-to właśnie o to chodziło !!!
P-141149
« 1 »
  Strona 1 z 1