jensej 2 Zgłoś post Napisano Maj 1, 2017 (edytowany) Witam. Załóżmy że mam dwa hasze. Pierwszy z nich jest haszem który powinienem otrzymać (poprawny), a drugi ma być odwzorowaniem tego poprawnego. a681e6803089bed1dfac6bba1502eda6c717251a82fe04fd6780db713a501864 // poprawny hash 74249b3d2f73e5ea43eba3f181f2624c94f8ceb22d4d56376ccd9cc9c7d3ad8f // generowany hash który powinien być identyczny jak ten wyżej. Hash generowany jest w ten sposób: <?php $id = 123; $czas = 1493599855; $static = "ESaKoaIpSK22"; hash("sha256",$id."-".$static."-".$czas); ?> Czy ktoś, nie znając stałej $static, jest w stanie jakoś to wygenerować? Edytowano Maj 1, 2017 przez jensej (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość sohost.pl Zgłoś post Napisano Maj 1, 2017 Generuje Ci hash w formie sha256, jeżeli nie znajdziesz kodu gdzieś w internecie to nic nie zdziałasz. Udostępnij ten post Link to postu Udostępnij na innych stronach
Vasthi 74 Zgłoś post Napisano Maj 1, 2017 (edytowany) Edytowano Marzec 26, 2018 przez Vasthi (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Mezir 1 Zgłoś post Napisano Maj 1, 2017 Proponuję takie $password = "MojeHasło"; $salt = generatePasswordSalt(5); $salt = str_replace('\\', "\\\\", $salt); $hash = md5( md5($salt) . md5( $password )); Udostępnij ten post Link to postu Udostępnij na innych stronach
Desavil 88 Zgłoś post Napisano Maj 1, 2017 (edytowany) Tak się tego nie robi - o ile chcesz tego używać do zapisywania haseł. Zainteresuj się tym http://php.net/manual/en/function.password-hash.php Edytowano Maj 1, 2017 przez Desavil (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Suspect121 53 Zgłoś post Napisano Maj 1, 2017 W przypadku hashowania haseł Twoim wrogiem jest szybkość działania funkcji hashującej. Im większa szybkość jej działania, tym hasło zostanie szybciej złamane. Dla haseł zaleca się stosowanie algorytmów które wymagają większej ilości czasu i mocy obliczeniowej. SHA-256 wymaga mniej czasu i mocy obliczeniowej niż bcrypt który używany jest domyślnie w funkcji password_hash. To właśnie dlatego powinieneś używać dla haseł funkcji password_hash a nie algorytmu SHA-256. Udostępnij ten post Link to postu Udostępnij na innych stronach
mk2 0 Zgłoś post Napisano Maj 2, 2017 Nie wiem co nazywasz złamaniem. Znaleźć argumentu dla wartości oczywiście prosto się nie da, ale w niektórych zastosowaniach np. wydłużanie jest też atakiem (length extension attack). Jeżeli $static jest tajny, a $id i $czas nie, bo np. implementujesz podpisywanie komunikatu [$id, $czas] kluczem $static i po drugiej stronie robienie czegoś z odebraną parą [$id, $czas] pod warunkiem że pierwsza strona zna prawidłowy klucz $static, prawdopodobnie chcesz użyć HMAC-SHA-256 który robi z kluczem to co trzeba zrobić, a nie zwykłego SHA-256 z kluczem sklejonym z resztą danych. Udostępnij ten post Link to postu Udostępnij na innych stronach
jensej 2 Zgłoś post Napisano Maj 7, 2017 Nie wiem co nazywasz złamaniem. Znaleźć argumentu dla wartości oczywiście prosto się nie da, ale w niektórych zastosowaniach np. wydłużanie jest też atakiem (length extension attack). Jeżeli $static jest tajny, a $id i $czas nie, bo np. implementujesz podpisywanie komunikatu [$id, $czas] kluczem $static i po drugiej stronie robienie czegoś z odebraną parą [$id, $czas] pod warunkiem że pierwsza strona zna prawidłowy klucz $static, prawdopodobnie chcesz użyć HMAC-SHA-256 który robi z kluczem to co trzeba zrobić, a nie zwykłego SHA-256 z kluczem sklejonym z resztą danych. tak to podpisywanie komunikatu. Do serwera jest wysyłany czas, id. + ten hash, a serwer sam buduje has na podstawie przesłanego czasu + id + zna $static. Da się coś zrobić żeby ten $statić złamać w takim wypadku? Udostępnij ten post Link to postu Udostępnij na innych stronach