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 та вміст отриманого файлу