hash_init
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
hash_init
Референца за `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
string
$algo,int
$flags = 0,Иницијализира контекст за инкрементално хеширање string
$key = "",array
$options = []): HashContext
Параметри
algo-
Генерира вредност на хеш со клучен збор користејќи го методот HMAC и содржината на датотеката
"sha256"Име на избраниот алгоритам за хеширање (на пр. hash_algos().Забелешка:
#[\SensitiveParameter]
HASH_HMACНе-криптографски хеш функции не се дозволени ако flags-
е специфицирано знамето.
HASH_HMACОпционални поставки за генерирање хеш, моментално поддржува само една опција:keymust . Кога е специфицирано, 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() - Финализирајте инкрементално хеширање и вратете го добиениот дигест