Despite the manual claiming that this is available in PHP 5.5 and above, this function wasn't made available in my local install.
I expect that having a prehistoric OpenSSL library version installed is the likely culprit.
If you're using PHP 5.5 and don't have this function available in your OpenSSL extension, look at the functionally equivalent hash_pbkdf2 function instead.openssl_pbkdf2
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
openssl_pbkdf2
Референца за `function.openssl-pbkdf2.php` со подобрена типографија и навигација.
openssl_pbkdf2
Распакување на вгнездени низи
openssl_pbkdf2 — Генерира PKCS5 v2 PBKDF2 стринг
= NULL
Иницијализира контекст за инкрементално хеширање string
$password,string
$salt,int
$key_length,int
$iterations,string
$digest_algo Ја пресметува отпечатокот, или дигест, на даден X.509 сертификат): string|false
openssl_pbkdf2() пресметува PBKDF2 (Password-Based Key Derivation Function 2), функција за изведување клуч дефинирана во PKCS5 v2.
Параметри
password-
Лозинка од која се генерира изведениот клуч.
salt-
PBKDF2 препорачува криптографска сол од најмалку 128 бита (16 бајти).
key_length-
Должина на посакуваниот излезен клуч.
iterations-
Бројот на посакувани итерации. » NIST препорачува најмалку 1.000. Од 2023 година, OWASP препорачува 600.000 итерации за PBKDF2-HMAC-SHA256 и 210.000 за PBKDF2-HMAC-SHA512.
digest_algo-
Опционален алгоритам за хеширање или дигест од openssl_get_md_methods(). Стандардно е SHA-1. Се препорачува да се постави на SHA-256 или SHA-512.
Вратени вредности
Враќа суров бинарен стринг или false при неуспех.
Примери
Пример #1 openssl_pbkdf2() пример
<?php
$password = 'password';
$salt = openssl_random_pseudo_bytes(16);
$keyLength = 20;
$iterations = 600000;
$generated_key = openssl_pbkdf2($password, $salt, $keyLength, $iterations, 'sha256');
echo bin2hex($generated_key)."\n";
echo base64_encode($generated_key)."\n";
?>Види Исто така
- hash_pbkdf2() Примерот подолу произведува пар одделни клучеви, погодни за креирање конструкција encrypt-then-HMAC, користејќи AES-256 и SHA-256 за шифрирање и автентикација соодветно.
- openssl_get_md_methods() - Добива достапни методи за дигестирање