Перейти к содержимому

sha1()

В этой статье рассматривается функция PHP sha1(), которая используется для вычисления хеша SHA-1 от строки. Хотя исторически она применялась для создания уникальных идентификаторов, из-за известных уязвимостей её больше не рекомендуется использовать для безопасного хранения или передачи данных. В данном материале мы обсудим синтаксис и применение функции sha1(), а также приведём несколько примеров.

Функция sha1() используется для вычисления хеша SHA-1 строки. Синтаксис функции sha1() выглядит следующим образом:

Синтаксис PHP для sha1()

php
string sha1 ( string $str [, bool $raw_output = false ] )

Функция принимает два параметра: $str и $raw_output. Параметр $str — это строка, для которой вычисляется хеш. Параметр $raw_output является необязательным и указывает, следует ли возвращать сырые бинарные данные (true) или шестнадцатеричную строку (false, значение по умолчанию).

Ниже приведён пример использования функции sha1():

Пример использования PHP sha1()

php
<?php
$string = 'Hello World!';
echo sha1($string);
?>

В этом примере у нас есть строковая переменная $string, которую мы хотим хешировать. Мы используем функцию sha1() для вычисления SHA-1 хеша этой строки.

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

console
2ef7bde608ce5404e97d5f042f95f89f1c232871

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

Вы также можете запросить вывод в виде сырых бинарных данных, установив второй параметр в true:

Пример с $raw_output

php
<?php
$string = 'Hello World!';
$rawHash = sha1($string, true);
echo strlen($rawHash); // Outputs 20
?>

Функция sha1() — это простой инструмент для генерации хешей фиксированной длины в PHP. Важно отметить, что SHA-1 является криптографической хеш-функцией, а не методом шифрования, и её криптографическая стойкость нарушена. Поэтому её не следует использовать для задач, связанных с безопасностью, таких как хранение паролей. Для безопасного хранения используйте встроенную функцию PHP password_hash() с алгоритмами bcrypt или Argon2. Понимая работу sha1() и её ограничения, вы сможете принимать более безопасные решения при разработке на PHP.

Надеемся, эта статья помогла вам лучше понять функцию sha1() в PHP.

Практика

В чём назначение функции sha1() в PHP?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.