Ustawienia programu na hasło

0

Ze zrobieniem hasła: podawanie, odczytywanie i tak dalej nie ma problemu.

Ale załóżmy że użytkownik włącza możliwość ustawienia dostępu do ustawień na hasło. (Tak jak np w Kaspersky AntiVirus)
Hasło to zapisywane jest w jakieś postaci np: w rejestrze (to nie ważne).
Włączenie odbywa się za pomocą CheckBoxa z wartością 0 na wył, 1 na wł.

Ale po wczytaniu program sprawdza czy jest włączone "wejście do ustawien po podaniu hasła". Pobierając wartość 1, co oznacza że użytkownik korzysta z zabezpieczenia do ustawień, pyta się o hasło.

I TUTAJ: zakładam że użytkownik inny nie zna hasła, ale zmieniając wartość z 1 na 0 w rejestrze powoduje tym samym że może wejść bez podawania hasła (bo 0 oznacza wyłączoną możliwość dostępu do ustawień na hasło).

Jak temu zapobiec ??

0

Możesz w rejestrze zapisywać sobie hasło hashowane MD5. Jeśli pusty ciąg znaków w MD5 wygląda właśnie jak wpis w rejestrze, hasła nie ma. Jeśli nie, pytaj o hasło (jeśli hasło w MD5 zgadza się z wpisem rejestru, to podano hasło właściwe) - jak nie ma hasła zgłoś błąd programu (i na przykład wymagaj w systemie praw administratora by coś z tym zrobić).

0

No tak Szczawik, ale chodzi o to że nie hasło może ktoś usunąć z rejestru, ale wpis odpowiedzialny za to że dostęp do ustawień został zablokowany przez podanie hasła.

0

100% zabezpieczenia nie ma. Ja tu widze 2 możliwości:
1: Umieścić wpis w rejestrze np. gdzieś głęboko w konfiguracji czegos z Microsoftu. Niewiele osób odważy się tam grzebać
2: W rejestrze umieścić zaszyfrowaną wartość ustawienia. np. md5(12) = jest hasło, md5(8) = nie ma hasła

// Możesz jeszcze dodać że np. jeśli w rejestrze w ogóle nie ma danego wpisu [ktoś usunął np.] to uznajesz że hasło jest włączone

0
C@rdel napisał(a)

100% zabezpieczenia nie ma. Ja tu widze 2 możliwości:
1: Umieścić wpis w rejestrze np. gdzieś głęboko w konfiguracji czegos z Microsoftu. Niewiele osób odważy się tam grzebać
2: W rejestrze umieścić zaszyfrowaną wartość ustawienia. np. md5(12) = jest hasło, md5(8) = nie ma hasła

3: Możesz jeszcze dodać że np. jeśli w rejestrze w ogóle nie ma danego wpisu [ktoś usunął np.] to uznajesz że hasło jest włączone

Dzięki za podsunięte rozwiązania. Najlepsze to będzie połączenie 1: z 3: bo dodatkowo bawić sie z MD5... to za dużo.

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