Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PASSWORD()
Forum PHP.pl > Forum > Bazy danych > MySQL
Foxer
Za pomocą funkcji SQL PASSWORD() zapisuję dane do bazy. W jaki sposób je następnie odczytać / wyświetlić?

Chodzi mi o to że gdy moją daną jest 'haslo' to PASSWORD() przekształca go np. na: '6067178d66'. Teraz... chcę wyświetlić przechowaną daną (czyli wyraz 'haslo') a nie wyświetlić ciąg po zmieszaniu ('6067178d66'). Jak to zrobić? :-)
Bielo
funkcja PASSWORD jest funkcją haszującą i (tak jak md5) nie da się zahaszowanego ciągu przywrócić do dawnej postaci.

Gdzieś znalazłem informacje (chyba na www.mysql.com) że funkcja PASSWORD jest tylko do użytku przez baze nie dla użytkownika i nie jest zalecana.

Jeśli chcesz coś zaszyfrować użytj funkcji:
[sql:1:269b822c75]ENCODE("ciąg","klucz");[/sql:1:269b822c75]
kszychu
Zawsze można użyć selekta typu:
[php:1:3d2c4b7ab9]<?php
$sql = "SELECT * FROM juzersi WHERE login='$login' AND haslo=PASSWORD($haslo)";
?>[/php:1:3d2c4b7ab9]
spenalzo
Jeżeli już to:
[php:1:21def50f7b]<?php
$sql = "SELECT * FROM juzersi WHERE login='".$login."' AND haslo=PASSWORD('".$haslo."')";
?>[/php:1:21def50f7b]
kszychu
Poza dwoma apostrofami w PASSWORD('$haslo') to co napisałem nie jest błędem i te sklejenia nie są wymagane. :-P
spenalzo
Nie są wymagane, ale poprawiłęm to przy okazji poprawy błędu.
kszychu
Cytat
Nie są wymagane, ale poprawiłęm to przy okazji poprawy błędu.

A ja się jednak będe czepiał: poprawia się coś, co jest błędem!
W tym przypadku nie poprawiłeś a zmieniłeś.
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.