hash_init
(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_init - Ініціалізація інкрементального контексту хешування
Опис
hash_init( string $algo, int $flags = 0, string $key = "", array $options = []): HashContext
Список параметрів
algo
Ім'я обраного алгоритму хешування (наприклад, "md5", "sha256", "haval160,4" тощо). Увесь список підтримуваних алгоритмів можна переглянути в описі функції hash_algos()
flags
Необов'язкові налаштування для генерації хешу, в даний час підтримується лише один варіант: HASH_HMAC
. При цьому параметр key
повинен бути вказано.
key
Якщо **HASH_HMAC
**указан в параметреflags
, то в цьому параметрі потрібно надати загальний секретний ключ, який використовуватиметься з методом хешування HMAC.
options
Безліч опцій для різних алгоритмів хешування. В даний час у варіантах MurmurHash підтримується лише параметр "seed".
Значення, що повертаються
Повертає контекст хешування для використання у функціях hash_update() hash_update_stream() hash_update_file() і hash_final()
Помилки
Викидає виняток ValueError, якщо параметр algo
невідомий або не є криптографічною хеш-функцією або якщо параметр key
не задан.
список змін
Версия | Опис |
---|---|
8.1.0 | Добавлен параметрoptions |
8.0.0 | Тепер викидає виняток ValueError, якщо параметр algo невідомий або не є криптографічною хеш-функцією або якщо параметр key не заданий; раніше поверталося значення false і видавалася помилка рівня E_WARNING . emitted. |
7.2.0 | Заборонено використання некриптографічних хеш-функцій (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) з константою HASH_HMAC |
7.2.0 | Повертає HashContext, а чи не ресурс. |
Приклади
Приклад #1 Приклад інкрементального хешування
Loading...
Результат виконання наведеного прикладу:
199f52fc9f2492c64449ed96003f135f8ea428e353e50c40b0c1a16b9c16f571
bool(true)
Дивіться також
- hash() - Генерує хеш-код (підпис повідомлення)
- hash_algos() - Повертає список зареєстрованих алгоритмів хешування
- hash_file() - Генерація хеш-значення, використовуючи вміст заданого файлу
- hash_hmac() - Генерація хеш-коду на основі ключа, використовуючи метод HMAC
- hash_hmac_file() - Генерація хеш-коду на основі ключа, використовуючи метод HMAC та вміст отриманого файлу