PHP 8.4.24 Released!

openssl_password_hash

(PHP 8 >= 8.4.0)

openssl_password_hashCreate a password hash using OpenSSL's Argon2 implementation

Опис

function openssl_password_hash(string $algo, string $password, array $options = []): string

Creates a password hash using OpenSSL's Argon2 implementation. This is an alternative to password_hash() that uses OpenSSL as the backend, which may offer hardware acceleration on some platforms.

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

Параметри

algo

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

password

The user's password.

options

An associative array of options. Supported keys:

  • memory_cost - Maximum memory (in KiB) that may be used to compute the hash
  • time_cost - Maximum amount of time it may take to compute the hash
  • threads - Number of threads to use for computing the hash

Значення, що повертаються

Returns the password hash as a string.

Помилки/виключення

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

Throws an Error if the hashing operation fails for an unknown reason.

Журнал змін

Версія Опис
8.4.0 Function added.

Приклади

Приклад #1 openssl_password_hash() example

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

Поданий вище приклад виведе щось схоже на:

$argon2id$v=19$m=65536,t=4,p=1$c29tZXNhbHR2YWx1ZQ$hashvalue...

Приклад #2 openssl_password_hash() with custom options

<?php
$hash = openssl_password_hash('argon2id', 'my-secret-password', [
    'memory_cost' => 65536,
    'time_cost'   => 4,
    'threads'     => 1,
]);
?>

Прогляньте також

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top