Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<openssl_password_hashopenssl_pbkdf2>
^OpenSSL FunctionsLast updated: Mon, 26 Oct 2026

openssl_password_verify

(PHP 8 >= 8.4.0)

openssl_password_verify — Verify a password against a hash using OpenSSL's Argon2 implementation

Description

function openssl_password_verify(string $algo, #[\SensitiveParameter] string $password, string $hash): bool

Verifies that a password matches a hash created by openssl_password_hash().

This function is only available when PHP is compiled with OpenSSL support that includes Argon2 (HAVE_OPENSSL_ARGON2).

Parameters

algo

The password hashing algorithm. Supported values: "argon2id" and "argon2i".

password

The user's password.

hash

A hash created by openssl_password_hash().

Return Values

Returns true if the password and hash match, or false otherwise.

Errors/Exceptions

Throws a ValueError if algo is not one of the supported values ("argon2i" or "argon2id").

Changelog

Version Description
8.4.0 Function added.

Examples

Example #1 openssl_password_verify() example

<?php
$hash = openssl_password_hash('argon2id', 'my-secret-password');

if (openssl_password_verify('argon2id', 'my-secret-password', $hash)) {
    echo 'Password matches.';
} else {
    echo 'Password does not match.';
}
?>

See Also


<openssl_password_hashopenssl_pbkdf2>
^OpenSSL FunctionsLast updated: Mon, 26 Oct 2026