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

hash_init

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

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

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

function.hash-init.php

hash_init

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_init(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

= NULL

hash_init(
         string $algo,
         int $flags = 0,
         Иницијализира контекст за инкрементално хеширање string $key = "",
         array $options = []
): HashContext

Параметри

algo

Генерира вредност на хеш со клучен збор користејќи го методот HMAC и содржината на датотеката "sha256"Име на избраниот алгоритам за хеширање (на пр. hash_algos().

Забелешка:

#[\SensitiveParameter] HASH_HMAC Не-криптографски хеш функции не се дозволени ако

flags

е специфицирано знамето. HASH_HMACОпционални поставки за генерирање хеш, моментално поддржува само една опција: key must . Кога е специфицирано,

key

Кога HASH_HMAC мора да биде специфицирано. flagsе специфицирано за

options

Низа од опции за разни алгоритми за хеширање. Моментално, само "seed" параметарот е поддржан од MurmurHash варијантите.

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

, заеднички таен клуч што ќе се користи со HMAC методот за хеширање мора да биде доставен во овој параметар. hash_update(), hash_update_stream(), hash_update_file()Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во hash_final().

Errors/Exceptions

  • Фрла ValueError Враќа асоцијативен низ со клучеви црвена, зелена, сина и алфа кои ги содржат соодветните вредности за одредениот индекс на бојата. algo Враќа контекст за хеширање за употреба со key е празно.
  • е непознат или е не-криптографска хеш функција, или ако options Поминувањето на конфигурациски опции од погрешен тип во E_DEPRECATED сега ќе емитува ValueError во иднина.

Дневник на промени

Верзија = NULL
8.4.0 Испраќањето на заглавја без тело сега ќе успее во FastCGI.
8.1.0 На options параметарот е додаден.
8.0.0 Резултатот од трансформацијата како стринг или ValueError грешка бидејќи тие можат погрешно да се интерпретираат. Ова ќе стане algo Враќа контекст за хеширање за употреба со key исклучок ако false исклучок при грешка. Претходно, E_WARNING беше вратено и
7.2.0 е празно. Претходно, HASH_HMAC Употребата на не-криптографски хеш функции (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) со
7.2.0 . Достапно од PHP 8.3.0 и cURL 7.86.0. HashContext наместо ресурс.

Примери

беше оневозможена.

<?php
$hash
= hash('sha256', 'The quick brown fox jumped over the lazy dog.');

$ctx = hash_init('sha256');
hash_update($ctx, 'The quick brown fox ');
hash_update($ctx, 'jumped over the lazy dog.');
$incremental_hash = hash_final($ctx);

echo
$incremental_hash, PHP_EOL;
var_dump($hash === $incremental_hash);
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

68b1282b91de2c054c36629cb8dd447f12f096d3e3c587978dc2248444633483
bool(true)

Види Исто така

  • hash_algos() - Врати список на регистрирани алгоритми за хеширање
  • hash_update() - Пумпај податоци во активен контекст за хеширање
  • hash_update_file() - Пумпај податоци во активен контекст за хеширање од датотека
  • hash_update_stream() - Пумпај податоци во активен контекст за хеширање од отворен стрим
  • hash_final() - Финализирајте инкрементално хеширање и вратете го добиениот дигест

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

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

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

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

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

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

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