PHP Password_Verify -funksjon

PHP Password_Verify -funksjon
Password_verify () -funksjonen brukes til å matche hasjpassordet med det opprinnelige passordet. En annen funksjon, Password_Hash () brukes til å generere hashverdien basert på hash -algoritmen, kostnadene og saltverdien. Password_verify () -funksjonen inneholder all hashinginformasjon for å bekrefte hasj med passordet. Bruken av denne funksjonen er vist i denne opplæringen ved å bruke flere eksempler.

Syntaks

Denne funksjonen har to argumenter, og den gir sann for suksess og usant på fiasko. Syntaksen til denne funksjonen har gitt nedenfor.

passord_verify (String $ passord, streng $ hash): bool

Det første argumentet inneholder passordet som vil bli sjekket. Det andre argumentet inneholder hasjverdien som brukes til å sjekke passordet er gyldig eller ikke. Denne hashverdien genereres ved å bruke passordet_hash () -funksjonen.

Ulike typer algoritmer kan brukes til å generere hasjverdien til ethvert passord. Det andre argumentet for passordet_hash () -funksjonen inneholder en konstant verdi som indikerer en hash -algoritme. Konstantene som kan brukes av Password_Hash () -funksjonen har nevnt nedenfor.

Konstant navn Beskrivelse
Passord_default Den bruker standardalgoritmen for å generere hashverdien på passordet.
Passord_bcrypt Den bruker Crypt_Blowfish -algoritmen for å generere hashverdien på passordet.
Passord_argon2i Den bruker Argon2i -algoritmen for å generere hashverdien på passordet.
Passord_argon2id Den bruker Argon2ID -algoritmen for å generere hashverdien på passordet.

Bruk av passord_verify () -funksjonen

Måtene å bekrefte passordet basert på hasjverdien generert av forskjellige hash -algoritmer har vist i denne delen av opplæringen.

Eksempel-1: Bekreft passord med hashen generert av Password_Default

Opprett en PHP -fil med følgende skript som viser et skjema for brukeren for å oppgi passordet som vil bli sjekket av passordet_verify () -funksjonen for validering når sendeknappen blir trykket på.

Den konstante verdien, Passord_default har blitt brukt i Password_hash () -funksjonen for å generere hasjverdien til det aktuelle passordet. Deretter har Password_Verify () -funksjonen brukt for å sjekke passordverdien gitt av brukeren er gyldig eller ugyldig.



Passordverifisering













// generere hashverdien på passordet
$ Hash = Password_Hash ('SecretPass456', Password_Default);
// Sjekk passordverdien sendes inn av brukeren eller ikke
if (isset ($ _ post ['pass']))

// Les passordet som er sendt inn av brukeren
$ passord = $ _post ['pass'];
// sjekk passordet er gyldig eller ugyldig
if (passord_verify ($ passord, $ hash))
Echo 'passord er gyldig!';
annet
Echo 'passord er ugyldig.';


?>

Produksjon:

Følgende utdata vises etter å ha utført skriptet ovenfor hvis det gyldige passordet er gitt av brukeren.

Følgende utdata vises etter å ha utført skriptet ovenfor hvis det ugyldige passordet er gitt av brukeren.

Eksempel-2: Bekreft passord med hasj generert av passord_bcrypt

Opprett en PHP -fil med følgende skript som viser et skjema for brukeren for å oppgi passordet som vil bli sjekket av Password_Verify () -funksjonen for validering når sendeknappen blir trykket som forrige eksempel.

Den konstante verdien, Passord_bcrypt, og kostnadsverdien har blitt brukt i passordet. Deretter har Password_Verify () -funksjonen brukt for å sjekke passordverdien gitt av brukeren er gyldig eller ugyldig.



Passordverifisering













// Angi passordverdien
$ passord = "SecretPass";
// Angi kostnadsverdien
$ alternativer = ["kostnad" => 15];
// generere hashverdien på passordet og kostnadsverdien
$ hash = passord_hash ($ passord, passord_bcrypt, $ alternativer);
// Sjekk passordverdien sendes inn av brukeren eller ikke
if (isset ($ _ post ['pass']))

// Les passordet som er sendt inn av brukeren
$ passord = $ _post ['pass'];
// sjekk passordet er gyldig eller ugyldig
if (passord_verify ($ passord, $ hash))
Echo 'passord er gyldig.';
annet
Echo 'passord er ugyldig.';


?>

Produksjon:

Følgende utdata vises etter å ha utført skriptet ovenfor hvis det gyldige passordet er gitt av brukeren.

Følgende utdata vises etter å ha utført skriptet ovenfor hvis det ugyldige passordet er gitt av brukeren.

Eksempel-3: Bekreft passord med hashen generert av Password_Argon2i

Opprett en PHP -fil med følgende skript som viser et skjema for brukeren for å oppgi passordet som vil bli sjekket av Password_Verify () -funksjonen for validering når sendeknappen blir trykket som forrige eksempel.

Den konstante verdien, Passord_argon2i, og kostnadsverdien har blitt brukt i passordet. Hashverdien på passordet vil bli skrevet ut i utgangen. Deretter har Password_Verify () -funksjonen brukt for å sjekke passordverdien gitt av brukeren er gyldig eller ugyldig.

// Angi passordverdien
$ passord = "SecretPass";
// generere hashverdien på passordet
$ hash = passord_hash ($ passord, passord_argon2i, ["kostnad" => 15]);
ekko "Hashverdien:
$ hash ";
?>


Passordverifisering













// Sjekk passordverdien sendes inn av brukeren eller ikke
if (isset ($ _ post ['pass']))

// Les passordet som er sendt inn av brukeren
$ passord = $ _post ['pass'];
// sjekk passordet er gyldig eller ugyldig
if (passord_verify ($ passord, $ hash))
Echo 'passord er gyldig.';
annet
Echo 'passord er ugyldig.';


?>

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor.

Følgende utdata vises etter å ha utført skriptet ovenfor hvis det gyldige passordet er gitt av brukeren.

Konklusjon

Passordbekreftelse er nødvendig for å autentisere brukeren, og det er en essensiell oppgave med ethvert nettsted. Bruken av Password_Verify () -funksjonen for å bekrefte passord basert på forskjellige hasjverdier har vist i denne opplæringen ved å bruke HTML -skjema.