Функция sha1() в PHP

Пример

Вычисление хеша SHA-1 строки "Hello":

<?php
$str = "Shanghai";
echo sha1($str);
?>

Запуск примера

Определение и использование

Функция sha1() вычисляет хеш SHA-1 строки.

Функция sha1() использует американский безопасный хеш-алгоритм 1.

Объяснение из RFC 3174 - Американский безопасный хеш-алгоритм 1: SHA-1 генерирует 160-битный вывод, называемый резюме сообщения. Резюме сообщения может быть введено в алгоритм подписи, который может генерировать или проверять подпись сообщения. Подпись резюме сообщения, а не сообщения,可以提高 процессинговую эффективность, так как размер резюме сообщения обычно значительно меньше размера сообщения. Валидатор цифровых подписей должен использовать тот же хеш-алгоритм, что и создатель цифровых подписей.

Совет:Чтобы вычислить SHA-1 хеш файла, используйте функцию sha1_file().

Синтаксис

sha1(string,raw)
Параметр Описание
string Обязателен. Определяет строку для вычисления.
raw

Опционально. Определяет шестнадцатеричный или двоичный формат вывода:

  • TRUE - исходный 20 символов двоичного формата
  • FALSE - по умолчанию. 40 символов шестнадцатеричной системы счисления

Технические детали

Возврат значения: Если успешна, то возвращает вычисленную SHA-1 хеш-функцию, если失败, то возвращает FALSE.
PHP версия: 4.3.0+
Журнал обновлений: В PHP 5.0:raw Параметр стал опциональным.

Более примеров

Пример 1

Вывод результатов sha1():

<?php
$str = "Shanghai";
echo "Строка: " . $str . "<br>";
echo "TRUE - исходный 20 символов двоичного формата: " . sha1($str, TRUE) . "<br>";
echo "FALSE - 40 символов шестнадцатеричной системы счисления: " . sha1($str) . "<br>";
?>

Запуск примера

Пример 2

Вывод результатов sha1() и их тестирование:

<?php
$str = "Shanghai";
echo sha1($str);
if (sha1($str) == "b99463d58a5c8372e6adbdca867428961641cb51")
  {
  echo "<br>I love Shanghai!";
  exit;
  }
?>

Запуск примера