hash

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

hashГенерирует хеш-код (дайджест сообщения)

Описание

string hash ( string $algo , string $data [, bool $raw_output = FALSE ] )

Список параметров

algo

Имя выбранного алгоритма хеширования (например, "md5", "sha256", "haval160,4" и т.д.)

data

Сообщение для хеширования.

raw_output

Когда установлено в TRUE, выводит необработанные двоичные данные. При FALSE выводит данные в шестнадцатеричной кодировке в нижнем регистре.

Возвращаемые значения

Возвращает строку содержащую вычисленный хеш-код в шестнадцатеричной кодировке в нижнем регистре. Если raw_output задан как TRUE, то возвращается хеш-код в виде бинарных данных.

Список изменений

Версия Описание
5.4.0 Алгоритм Tiger теперь использует порядок байтов от старшего к младшему (big-endian). Смотрите пример ниже.

Примеры

Пример #1 Пример использования hash()

<?php
echo hash('ripemd160''Наглый коричневый лисёнок прыгает вокруг ленивой собаки.');
?>

Результат выполнения данного примера:

8817ca339f7f902ad3fb456150a1bb9b4cb5dde9

Пример #2 Вычесление хешей Tiger с PHP 5.4 и выше.

<?php
function old_tiger($data ""$width=192$rounds 3) {
    return 
substr(
        
implode(
            
array_map(
                function (
$h) {
                    return 
str_pad(bin2hex(strrev($h)), 16"0");
                },
                
str_split(hash("tiger192,$rounds"$datatrue), 8)
            )
        ),
        
048-(192-$width)/4
    
);
}
echo 
hash('tiger192,3''a-string'), PHP_EOL;
echo 
old_tiger('a-string'), PHP_EOL;
?>

Результат выполнения данного примера в PHP 5.3:

146a7492719b3564094efe7abbd40a7416fd900179d02773
64359b7192746a14740ad4bb7afe4e097327d0790190fd16

Результат выполнения данного примера в PHP 5.4:

64359b7192746a14740ad4bb7afe4e097327d0790190fd16
146a7492719b3564094efe7abbd40a7416fd900179d02773

Смотрите также

  • hash_file() - Генерация хеш-значения, используя содержимое заданного файла
  • hash_hmac() - Генерация хеш-кода на основе ключа, используя метод HMAC
  • hash_init() - Инициализация инкрементального контекста хеширования
  • md5() - Возвращает MD5-хеш строки
  • sha1() - Возвращает SHA1-хеш строки