Strona 1 z 1

Lekcja 10 - funkcja SHA2 kasuje hasło

Napisane: piątek, 4 kwietnia 2014, 12:33
przez seeker
Z ciekawym problemem spotkałem się podczas próby hashowanie haseł z sha512. Moja funkcja nie działa tak jak powinna, ale usuwa wszystkie hasła z tabeli. Po kolei wygląda to następująco. Mam sobie następującą, przykładową tabelkę o nazwie klienci_z_sha512:
Obrazek

Wykonuję następujący kod:

Code: Zaznacz cały

   $query_sha512 = " 
                        UPDATE klienci_z_sha512 SET haslo = SHA2(haslo, 512)
                        ";
                mysql_query($query_sha512) or die(mysql_error());
                 
                
                $query_select_password = " 
                        SELECT haslo FROM klienci_z_sha512
                        ";
                $result_password = mysql_query($query_select_password) or die(mysql_error());
                      
                while($row_password = mysql_fetch_assoc($result_password))
                      var_dump($row_password)."<br/>";
i w wyniku otrzymuję odpowiedź var_dump:
array(1) { ["haslo"]=> string(0) "" } array(1) { ["haslo"]=> string(0) "" } array(1) { ["haslo"]=> string(0) "" } array(1) { ["haslo"]=> string(0) "" } array(1) { ["haslo"]=> string(0) "" } array(1) { ["haslo"]=> string(0) "" } array(1) { ["haslo"]=> string(0) "" } Query was empty

i tabelka pusta:
Obrazek

Dodam, że pole hasło jest typu varchar(128). Wie ktoś, co tutaj się stało?

Re: Lekcja 10 - funkcja SHA2 kasuje hasło

Napisane: piątek, 4 kwietnia 2014, 15:00
przez Morfidon
Hej,

Może w Twojej wersji MySQL na serwerze nie ma jeszcze funkcji SHA2?

SHA2 istnieje w MYSQL od wersji 5.5. W kodzie źródłowym dodanym do lekcji pokazuje jak to zrobić bez tej funkcji MySQL. Można skorzystać z funkcji wbudowanej w PHP tzn. funkcji hash, np. hash("sha512", $haslo");

Pozdrawiam