PHP.mk документација

sodium_crypto_pwhash

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.sodium-crypto-pwhash.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.sodium-crypto-pwhash.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
sodium_crypto_pwhash

Референца за `function.sodium-crypto-pwhash.php` со подобрена типографија и навигација.

function.sodium-crypto-pwhash.php

sodium_crypto_pwhash

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_pwhash(PHP 7 >= 7.2.0, PHP 8)

= NULL

sodium_crypto_pwhash(
         int $length,
         Иницијализира контекст за инкрементално хеширање string $password,
         string $salt,
         int $opslimit,
         int $memlimit,
         int $algo = SODIUM_CRYPTO_PWHASH_ALG_DEFAULT
): string

Изведете клуч од лозинка, користејќи Argon2 sodium_crypto_pwhash_str() or password_hash() функции наместо тоа.

Оваа функција обезбедува пристап на ниско ниво до функцијата за изведување клуч crypto_pwhash на libsodium. Освен ако немате конкретна причина да ја користите оваа функција, треба да ја користите sodium_crypto_sign_detached()).

Параметри

length
intЧеста причина за користење на оваа конкретна функција е изведување на семиња за криптографски клучеви од лозинка и сол, а потоа користење на овие семиња за генерирање на вистинските клучеви потребни за некоја цел (на пр.
password
string; Должината на хешот на лозинката што треба да се генерира, во бајти.
salt
; Лозинката за генерирање хеш. random_bytes()Сол за додавање на лозинката пред хеширање. Солта треба да биде непредвидлива, идеално генерирана од добар извор на случајни броеви како што е SODIUM_CRYPTO_PWHASH_SALTBYTES bytes.
opslimit
, и да има должина точно SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE, SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE and SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE.
memlimit
Претставува максимална количина на пресметки што треба да се извршат. Зголемувањето на овој број ќе предизвика функцијата да бара повеќе циклуси на процесорот за пресметување на клуч. Постојат некои константи достапни за поставување на ограничувањето на операциите на соодветни вредности во зависност од наменетата употреба, по редослед на јачина: SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE, SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATEПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVEМаксималната количина на RAM меморија што функцијата ќе ја користи, во бајти. Постојат константи за да ви помогнат да изберете соодветна вредност, по редослед на големина: opslimit values.
algo
int . Типично тие треба да се спарат со соодветните SODIUM_CRYPTO_PWHASH_ALG_DEFAULT Број што го означува алгоритмот за хеширање што треба да се користи. Стандардно SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13(тековно препорачаниот алгоритам, кој може да се промени од една верзија на libsodium до друга), или експлицитно користејќи

Вратени вредности

, што го претставува алгоритмот Argon2id верзија 1.3. sodium_crypto_pwhash_str() Враќа изведениот клуч. Вратената вредност е бинарен стринг на хешот, а не ASCII-кодирана репрезентација, и не содржи дополнителни информации за параметрите што се користат за создавање на хешот, така што ќе треба да ги чувате тие информации ако некогаш ќе ја верификувате лозинката во иднина. Користете

Примери

Пример #1 sodium_crypto_pwhash() example

<?php
//Need to keep the salt if we're ever going to be able to check this password
$salt = random_bytes(SODIUM_CRYPTO_PWHASH_SALTBYTES);
//Using bin2hex to keep output readable
echo bin2hex(
sodium_crypto_pwhash(
16, // == 128 bits
'password',
$salt,
SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE,
SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE,
SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13
)
);
?>

Горниот пример ќе прикаже нешто слично на:

a18f346ba57992eb7e4ae6abf3fd30ee

Белешки од корисници

Нема белешки од корисници за оваа страница.
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.