Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] md5 po raz milionowy
Forum PHP.pl > Forum > Przedszkole
graft
jeśli hashuje kluczem:

md5($haslo.JAKISK_LUCZ)


Jak bezpieczne jest to gdy włamywacz dostanie JAKIS_KLUCZ?
drPayton
A co to znaczy bezpieczne? I co to jest ten klucz?
MD5 to nie jest funkcja szyfrująca tylko hashująca, nieodwracalna. Raz zakodowany w ten sposób string jest (teoretycznie) nie do odczytania!
Chyba Ci się funkcje pomyliły winksmiley.jpg
graft
"Klucz..." mam na myśli pewien ciąg.

1. md5("haslo") -> wiadomo, że za każdym razem utworzy inny zahashowany ciąg

2. md5("haslo".JAKISK_LUCZ) -> zawsze będzie dawał ten sam wynik.

Może źle się sprecyzowałem... Chciałem zapytać o 2 przypadek - czy jest bezpieczny - "nieodwracalny" jeśli włamywacz pozna co jest zdefiniowane w JAKIS_KLUCZ
strife
No, ale nawet jak pozna co jest w jakimś kluczu to i tak nie będzie znał hasła, więc na dobrą sprawę nic mu to nie da. Jak już powiedział kolega wyżej, hashowanie jest nieodwracalne, więc nawet jeśli włamywacz będzie posiadał odpowiedni ciąg to i tak nic mu to nie da. Dlatego hasła się hashuje w bazach danych.
cornholio666
Cytat
Raz zakodowany w ten sposób string jest (teoretycznie) nie do odczytania!


Zależy to od długości hasła i z jakich znaków się składa bo np. zahaszowany ciąg "piwko" jest do odczytania w 5 min. (Dictionary attack lub Brute force attack)
in5ane
Im chodzi, że nie jest możliwe do rozkodowania coś takiego:
c4ca4238a0b923820dcc509a6f75849b <-- co oznacza "1"
No bo można sie włamać przez Brute force attack, ale na to są zazwyczaj zabezpieczenia (np. jak będziesz wprowadzał 100 raz pod rząd hasło to bana dostaniesz).
cornholio666
Cytat
Im chodzi, że nie jest możliwe do rozkodowania coś takiego:
c4ca4238a0b923820dcc509a6f75849b <-- co oznacza "1"


"Rozkodowania" może nie, ale uzyskasz wynik który po zahaszowaniu da ci "c4ca4238a0b923820dcc509a6f75849b" i niekoniecznie musi to byc "1"

Cytat
No bo można sie włamać przez Brute force attack, ale na to są zazwyczaj zabezpieczenia (np. jak będziesz wprowadzał 100 raz pod rząd hasło to bana dostaniesz).


Hasz możesz uzyskać przez SQL Injection i na swoim komputerze zrobic brute force.
enigma
Cytat(drPayton @ 31.08.2007, 15:02:42 ) *
MD5 to nie jest funkcja szyfrująca tylko hashująca, nieodwracalna.

jak to nieodwracalna, dopiero znajomy wczoraj pokazywał mi programik, podałem mu ciąg, i powiedziałem ile liter ma oryginalne hasło, program odszyfrował (3 literowe hasło) w ciągu kilkunastu sekund. Oczywiście im dłuższe hasło tym czas dłuższy.
Czy ktoś z Was wyjaśni o co tu biega worriedsmiley.gif
mike
Zesrał sie a nie odszyfrował.
Złamał hash i tyle, to jest możliwe. Rozszyfrować można coś co jest zaszyfrowane a nie zahashowane.

Zamykam, nie ma sensu tego ciągnąć bo tysięczny, niedouczony hasha chce odwracać.

Nie da się! można to jedynie złamać. Tip; Tęczowe tablice
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.