crypt_gensalt

(PECL xpass >= 1.1.0)

crypt_gensalt β€” ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ соль для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ crypt

ОписаниС

function crypt_gensalt(string $prefix = null, int $count = 0): ?string

Ѐункция ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ строку, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ crypt() ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ соли.

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

prefix
ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π² Π²ΠΈΠ΄Π΅ константы сСмСйства CRYPT_PREFIX_*. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ значСния null функция Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ ΠΈΠ· доступных ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ.
count
УправляСт Ρ†Π΅Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ…Π΅ΡˆΠ°; допустимый Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π½Ρ‹ зависят ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ большиС числа ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΡ€ΠΎΠ³ΠΈΠΌ Ρ…Π΅ΡˆΠ°ΠΌ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, выдСлСния памяти. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ count значСния 0 функция Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ Π½ΠΈΠ·ΠΊΡƒΡŽ Ρ†Π΅Π½Ρƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку с настройками ΠΈΠ»ΠΈ null, Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ошибка.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ компиляции соли Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ crypt_gensalt()

<?php

// ГСнСрация соли
$salt = crypt_gensalt(CRYPT_PREFIX_BLOWFISH);

// Π₯Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ пароля
$hash = crypt("secret", $salt);

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ…Π΅ΡˆΠ°
$test = hash_equals(crypt("secret", $hash), $hash);

var_dump($salt, $hash, $test);

?>

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

string(29) "$2y$05$GcPykP.Am8C1.dGamdpwW."
string(60) "$2y$05$GcPykP.Am8C1.dGamdpwW.1RR.7uicWvJPZfJfCEizZHqVWwuaJLm"
bool(true)

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

  • crypt_preferred_method() - ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ прСфикс ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ
  • crypt() - Π₯Π΅ΡˆΠΈΡ€ΡƒΠ΅Ρ‚ строку Π½Π΅ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌΡ‹ΠΌ способом
  • hash_equals() - Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ строки Π±Π΅Π· риска Π°Ρ‚Π°ΠΊΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ добавляли примСчания для страницы