Аргумент | Возможный тип | Описание |
$p | — | — |
$s | — | — |
$c | — | — |
$kl | — | — |
$a = 'sha256' | — | — |
$hl = strlen(hash($a, null, true)); $kb = ceil($kl / $hl); $dk = ''; for ($block = 1; $block <= $kb; $block ++) { $ib = $b = hash_hmac($a, $s . pack('N', $block), $p, true); for ( $i = 1; $i < $c; $i ++ ) { $ib ^= ($b = hash_hmac($a, $b, $p, true)); } $dk .= $ib; } return substr($dk, 0, $kl);