Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Szyfrowanie hasel i ich sprawdzanie.
Forum PHP.pl > Forum > PHP
hamlecik
Witam wszystkich,
mam problem, z ktorym borykam sie od dluzszego czasu. Zrobilem sobie skrypt logowania oparty na MySQL oraz sesjach. Aby zwiekszyc jego bezpieczenstwo chce jeszcze szyfrowac hasla. Problem w tym, ze nie wiem jak zaszyfrowane haslo metoda np

[php:1:44fbd45ce3]
md5(haslo)
[/php:1:44fbd45ce3]

, ktore wedruje do bazy danych
sprawdzic czy jest identyczne z haslem podanym w formularzu.
Moze mi ktos podsunac jakies sugestie?
Pozdrawiam i dzieki.
KaMeLeOn
Zaszyfruj hasło podane w formularzu i porównaj z gotowym w bazie danych...
hamlecik
no wlasnie taki mam plan. tylko nie wiem jak je porownac.
KaMeLeOn
[php:1:057a1bec73]<?php
if( md5($_POST['haslo_z formularza']) == $haslo_wybrane_z_bazy )
{
echo 'All OK';
}
?>[/php:1:057a1bec73]
hamlecik
kurcze ale to bylo banalne. dzieki za tak szybka pomoc. czy takie logowanie (mysql, sesje, taki system szyfrowania jak wyzej) jest w miare bezpieczne?
KaMeLeOn
Dobrze przemyślane jest jak najbardziej bezpieczne...
hamlecik
kurcze znowu sie wkrecilem w to php. daje takie mozliwosci, a jaka radocha jak cos napiszesz ladnego biggrin.gif
kliszaq
spoko, ale czy istnieje mozlwosc rozqmania z md5 na "polski"?
bo np.: zakoduje md5 i czy jest mozliwe, zzebym to odszyfrowal?
czy ktos podpowie cos o mcrypt?
delorian
md5 nie jest szyfrowaniem tylko kodowaniem (hashowaniem), tzn. że nie da się go odkodować, gdyż z Twojego ciągu znaków jest wyliczana pewna powiedzmy suma kontrolna, jedna i niepowtarzalna dla każdego ciągu znaków. Z tej sumy kontrolnej nie istnieje algorytm wsteczny, więc swojego ciągu już nie odzyskasz. Obecnie dla md5 jedyna możliwość złamania to tylko poprzez słownik lub pełen przegląd, ale to tylko wtedy kiedy ktoś np. jako hasła używa swojego imienia, albo imienia swojego kota. biggrin.gif

O mcrypt możesz sobie poczytać na http://php.net/mcrypt lub http://mcrypt.hellug.gr/ - mcrypt umożliwia szyfrowanie.
kliszaq
i ostatnie pytanko w tej kwestii: czy do mcryptu trzeba jakies dodatkowe biblioteki ? I czy standardowo serwery maja te biblioteki?
Aha i czy jest jakas darmowa dystrybucja certyfikatu ssl?
adwol
Cytat
i ostatnie pytanko w tej kwestii: czy do mcryptu trzeba jakies dodatkowe biblioteki ?

mcrypt to właśnie jest biblioteka. Jak masz do niej wsparcie w PHPie to znaczy że musi być zainstalowana.
Cytat
I czy standardowo serwery maja te biblioteki?

Zapytaj administratora to będziesz miał konkretną i pewną odpowiedź.
Cytat
Aha i czy jest jakas darmowa dystrybucja certyfikatu ssl?

A co to jest ,,dystrybucja certyfikatu ssl''? Chodzi Ci o to, czy ktoś za darmo wystawia certyfikaty?
kliszaq
no wlasnie, a tak w ogole to ja za bardzo nie wiem jak to dziala.... moze jakies informacje (ogolnie)? 8)
adwol
Cytat
no wlasnie, a tak w ogole to ja za bardzo nie wiem jak to dziala.... moze jakies informacje (ogolnie)? 8)

Co jak działa? MD5, mcrypt, SSL czy certyfikaty?
kliszaq
chdzi mi oczywiscie o te certyfikaty biggrin.gif
delorian
Przeczytaj sobie np. http://www.openssl.org oraz http://www.modssl.org

Za certyfikaty się płaci i to kupe kasy rocznie, możesz sobie stworzyć własny (jak znasz admina) - który będzie dawał jako takie bezpieczeństwo, ale darmowy certyfikat nie będzie miał poręczenia od CA. Radze najpierw wpisać w Google SSL, ceftyfikaty, tam jest tego mnóstwo.
adwol
Cytat
chdzi mi oczywiscie o te certyfikaty biggrin.gif

Załóżmy, że chcesz iść do dobrej pracy. Przychodzisz więc na rozmowę kwalifikacyjną i pani Cię pyta jakie ukónczyłeś szkoły i kursy. Ty wtedy odpowiadasz, że jesteś np. doktorem fizyki jądrowej, a dodatkowo masz tytuły magistra historii sztuki i doktora filozofii. Wtedy pani patrzy na Ciebie troche podejrzliwie, ale Ty wyjmujesz z teczki dyplomy wydane przez wyższe uczelnie i potwierdzasz, że to co mówisz to prawda. W ten sposób jakaś osoba (w tym wypadku pracodawca) może sprawdzić teoretyczną wiedze innej osoby (w tym wypadku Twoją), której nigdy wcześniej nie widziała i nie zna. Ktoś trzeci (w tym wypadku uczelnia lub szkoła) wystawia dokument, właśnie certyfikat, w którym potwierdza, że konkretna osoba ma skończoną konkretną szkołę.

W przypadku certyfikatów elektronicznych jest identycznie, tylko tutaj poświadcza się, że dany klucz publiczny używany do szyfrowana należy do danego podmiotu lub osoby. Trzecią stroną która wystawia certyfikat (odpowiednikiem uczelni z przykładu) jest przeważnie ogólnie znana firma, której klucz publiczny (którym podpisywane są certyfikaty) jest ogólnie znany (np. jest zaszyty w przeglądarkach), ale może być to teoretycznie ktokolwiek. A wszystko jest po to, aby przy komunikacji zaszyfrowanym kanałem można być w miarę pewnym tego kto jest ,,po drugiej stronie kabla'', że np. łącząc się ze stroną banku elektronicznego łączysz się napewno z nim a nie ze podstawioną witryną włamywacza.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.