funkcja contains i zwracana wartość

0

Witam mam pytanie bo chce żeby funkcja moja zwracała wartość false jeżeli bedzie zawarty cały podciag a zwraca wartośc true nawet jezeli jest jedna litera. Juz dokładnie pokazuje o co mi chodzi:

        public static bool CheckDataReg(string sciezkaLokalna, string nazwaPliku, string login, string mail)
        {
            string line;
            StreamReader file = new StreamReader(sciezkaLokalna + "\\" + nazwaPliku);
            while ((line = file.ReadLine()) != null)
            {
                if (line.Contains("#LOGIN:" + login))
                {
                    file.Close();
                    MessageBox.Show("Podany Login jest zajęty");
                    return false;
                }
                else if(line.Contains("#MAIL:"+mail))
                {
                    file.Close();
                    MessageBox.Show("Podany mail jest zajęty");
                    return false;
                }

            }
            MessageBox.Show("Wszystkie dane prawidłowe zostaniesz zarejestrowany");
            file.Close();
            return true;
        } 

załózmy ze jest w pliku już uzytkownik o loginie baca1616, i nawet jak wpisze b i wywołam ta funkcje sprawdzająca to contains i tak zwraca mi wartosc true. Ktoś wie jak mogę to obejść ?

Jeszcze dopisze, że plik wygląda tak:
#LOGIN:baca1616#PASS:qwerty123#MAIL:[email protected]

1

No pomyślmy... nie używaj Contains tylko sprawdzaj zgodność całej linii case-insensitive? :|

1

Zrób coś takiego:

string[] data = line.Split("#");
if(data[0] == "LOGIN:"+login && data[1] == "PASS:"+pass)
 return true;

A tak btw nie powinieneś przechowywać haseł zwykłym tekstem.

0

plik jest na koncu szyfrowany i ogolnie. Na potrzeby projektu mi plik txt starczy, zresztą to pierwsze spotkanie z C#, a tablice data u Ciebie musialem zrobić

data[1] == "LOGIN:"+login && data[3]=="MAIL:"+mail 

dzięki wielkie za pomoc :)

0

Szyfrowanie jest nic nie warte, skoro hasło i tak siedzi plaintextem, a nie jest hashowane :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1