Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503

    Verificare password criptata con crypt()

    Per un sistema di login sto provando ad usare la funzione crypt() in questo modo.
    Codice PHP:
    //crittaggio della password nello script della registrazione
    $password crypt($_POST['password']);
    //e la metto nella tabella del db, risulta così: $1$Tz0.gE..$Wg3sb2XtiyuN6kpU/Xt7

    //nello script del login prendo la password corrispondente all'username dal db e poi faccio il confronto
    if($pass === crypt($this->password,$pass)) //$pass è quella presa dal db 
    Ma qualsiasi cosa metta nella form di login, mi dice che come password va bene.
    Ho controllato sul manuale della funzione crypt() e dice di fare così (link - primo esempio), ma come mai mi da questo problema?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Correggo perché prima c'era un errore sui return.

    Anche mettendo la password corretta, mi dice che non va bene.
    Ho provato a stampare la password del db e quella che viene inserita, risultano così:
    Codice PHP:
    $1$Tz0.gE..$Wg3sb2XtiyuN6kpU/Xt7 //echo $pass
    $1$Tz0.gE..$Wg3sb2XtiyuN6kpU/Xt7C1 //echo crypt($_POST['password'],$pass) 
    uguali, tranne gli ultimi 2 caratteri che vengono aggiunti a quella inserita al momento del login.

    Da cosa dipende?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.