|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2006
Messaggi: 3900
|
[php+mysql] confronto tra password criptata e non, help =(
Salve a tutti, devo fare un confronto tra due password, una criptata con la funzione password() di mysql e una presa in input.. (una sorta di login).
non riesco proprio a uscirne... al momento sono messo così: if( md5($input) == $criptata") { ma non mi entra mai nell'if... può essere che sbaglio questa query?? $criptata = mysql_query("SELECT pass FROM account WHERE (id='$id') AND (code='$code')"); grazie in anticipo per eventuali risposte =)
__________________
Ryzen 7600 | B650E Taichi | 2x16 6400c32 | 3080Ti | EVGA G3 750W
Tante trattative dal 2006 |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
non mi convince molto la query che hai scritto ,...
pero' puoi verificare rapidissimamente il risultato della query eseguendo print_r dopo mysql_query Codice PHP:
__________________
I robot hanno scintillanti fondoschiena metallici che non dovrebbero essere baciati. |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Dec 2006
Messaggi: 3900
|
Quote:
Resource id #4Resource id #5
__________________
Ryzen 7600 | B650E Taichi | 2x16 6400c32 | 3080Ti | EVGA G3 750W
Tante trattative dal 2006 |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
e se provi cosi ?
Codice PHP:
comunque , credo che con qualcosa di simile potresti risolvere ... Codice PHP:
__________________
I robot hanno scintillanti fondoschiena metallici che non dovrebbero essere baciati. Ultima modifica di bobbytre : 13-10-2010 alle 02:59. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jun 2010
Città: Varese
Messaggi: 996
|
Il print_r va fatto sul resultset non sulla query.
Esegui un mysql_fetch_array(QUERY); e poi fai il print_r vedrai cosa ti ritorna. |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Dec 2006
Messaggi: 3900
|
la query per la password mi restituisce false , ma se eseguo la stessa query senza variabili ovvero con dati che immetto io corretti, funziona.
quindi sbaglio a prendere il valore di $code, che dovrebbe essere 1999, ma se esegui il print di code mi restituisce: Array ( [0] => 1999 [code] => 1999 ) poi cerca id e lo trova, mentre code ovviamente non l otrova perchè cè questa stringa al posto del solo valore effettivo. come faccio a fargli "prendere" solo 1999???
__________________
Ryzen 7600 | B650E Taichi | 2x16 6400c32 | 3080Ti | EVGA G3 750W
Tante trattative dal 2006 |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
$nome_array["code"]
? |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Dec 2006
Messaggi: 3900
|
grande, grazie.
ultima cosa e credo funzioni tutto string(41) "*9F54B889A1F09476CE33C857A7EA8F2253330C72" string(32) "cc2b9ae3d0b93c90a0e269239934ebf4" la stringa da 41 è la password nel database, la stringa da 32 è quella criptata con la funzione md5 di php. ovviamente sono ancora bloccato,dato che l' if non può essere thrue. mi pare che la funzione password di mysql cripta in md5, perchè escono 9 byte in meno se la cripto con php?????
__________________
Ryzen 7600 | B650E Taichi | 2x16 6400c32 | 3080Ti | EVGA G3 750W
Tante trattative dal 2006 |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jun 2010
Città: Varese
Messaggi: 996
|
Quote:
"Calculates an MD5 128-bit checksum for the string. The value is returned as a binary string of 32 hex digits, or NULL if the argument was NULL. The return value can, for example, be used as a hash key. See the notes at the beginning of this section about storing hash values efficiently." Come quella di PHP. L'algoritmo è quello. |
|
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Oct 2005
Messaggi: 130
|
magari le password non sono in md5 ma in sha1
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Dec 2006
Messaggi: 3900
|
Quote:
non capisco come cripta e come fargli fare la stessa cosa in php
__________________
Ryzen 7600 | B650E Taichi | 2x16 6400c32 | 3080Ti | EVGA G3 750W
Tante trattative dal 2006 |
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Jun 2010
Città: Varese
Messaggi: 996
|
Quote:
MD5("VALORE"), su MySQL... La documentazione aiuta |
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Dec 2006
Messaggi: 3900
|
Quote:
__________________
Ryzen 7600 | B650E Taichi | 2x16 6400c32 | 3080Ti | EVGA G3 750W
Tante trattative dal 2006 |
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Jun 2010
Città: Varese
Messaggi: 996
|
In che senso?
Comunque sia password non ritorna una codifica MD5... usa Password al posto dell md5, dove sta il problema? Ti basta fare una subquery |
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Dec 2006
Messaggi: 3900
|
Quote:
una cosa del genere può funzionare?? $var = mysql_query("passoword($var2)"); avevo gia provato ma non funzia.
__________________
Ryzen 7600 | B650E Taichi | 2x16 6400c32 | 3080Ti | EVGA G3 750W
Tante trattative dal 2006 |
|
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Jun 2010
Città: Varese
Messaggi: 996
|
Quote:
Prova: Codice:
SELECT [....]*WHERE password = (SELECT PASSWORD('valore')).
Studiati le query annidate/subqueries. |
|
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
|
credo si usi IN
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Jun 2010
Città: Varese
Messaggi: 996
|
Si può essere, un ho un lapsus.
Colpa di Oracle? EDIT: è indifferente, IN mi pare estragga più rows. Ma non è il suo caso (Ps. posso ricordarmi male). Codice:
SELECT users.name
FROM users
WHERE users.password = (
SELECT PASSWORD('test')
)
LIMIT 0,1
__________________
Il mercatino di dojolab: VENDO UN PO' DI COSE! VAI Vendo Libro Oracle 10g GUIDA COMPLETA della Oracle Press, ITALIANO: LINK Ultima modifica di dojolab : 13-10-2010 alle 16:21. |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Dec 2006
Messaggi: 3900
|
ho risolto con un paio di query in piu che agiscono in una sola tabella, con una sola riga con solo 2 colonne.
una serve per il where e ha il valore 1, l'altra contiene la password che gli faccio salvare con la funzione e successivamente prelevo il risultato criptato e faccio il confronto con la password gia criptata in origine. lo so, molto pacchiana e grossolana come alterativa,ma non sparatemi
__________________
Ryzen 7600 | B650E Taichi | 2x16 6400c32 | 3080Ti | EVGA G3 750W
Tante trattative dal 2006 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:20.




















