Учебник РНР
Назад Вперёд

LVI. Функции Mhash

Эти функции предназначены для работы mhash.

Это интерфейс с библиотекой mhash.
mhash поддерживает разнообразные хэш-алгоритмы, такие как MD5, SHA1, GOST и многие другие.

Для использования этих функций загрузите дистрибутив mhash с этого web-сайта и следуйте инструкциям по установке. Вам нужно скомпилировать PHP с параметром --with-mhash, чтобы подключить это расширение.

Mhash можно использовать для создания checksums/контрольной суммы, сообщений-дайджестов, кодов аутентификации сообщений и многого другого.

Пример 1. Обсчёт MD5-дайджеста и hmac и печать их как hex-значений

<?php
$input = "what do ya want for nothing?";
$hash = mhash (MHASH_MD5, $input);
print "The hash is ".bin2hex ($hash)."<br />\n";
$hash = mhash (MHASH_MD5, $input, "Jefe");
print "The hmac is ".bin2hex ($hash)."<br />\n";
?>

Это даст:
The hash is d03cb659cbf9192dcd066272249f8412 
The hmac is 750c783e6ab0b503eaa86e310a5db738

Полный список поддерживаемых хэшей см. в документации по mhash. Общее правило: вы можете получить доступ к хэш-алгоритму из PHP через MHASH_HASHNAME. Например, для доступа к TIGER вы используете PHP-константу MHASH_TIGER.

Вот список хэшей, поддерживаемых mhash на данный момент. Если хэш здесь не указан, но перечислен в mhash как поддерживаемый, вы можете быть уверенны, что наша документация уже устарела.

  • MHASH_MD5

  • MHASH_SHA1

  • MHASH_HAVAL256

  • MHASH_HAVAL192

  • MHASH_HAVAL160

  • MHASH_HAVAL128

  • MHASH_RIPEMD160

  • MHASH_GOST

  • MHASH_TIGER

  • MHASH_CRC32

  • MHASH_CRC32B

Содержание
mhash_count - получает наивысший доступный hash id
mhash_get_block_size - получает размер блока специфицированного хэша
mhash_get_hash_name - получает имя специфицированного хэша
mhash_keygen_s2k - генерирует ключ
mhash - вычисляет хэш

Назад Оглавление Вперёд
mdecrypt_generic Вверхmhash_count