php

Использование хеш-функций в PHP

Использование хеш-функций в PHP
Безопасность данных очень важна для любого приложения. Несанкционированный доступ к данным может повредить ценные данные приложения. Если данные могут быть защищены с помощью надлежащего шифрования, то несанкционированный доступ к данным можно предотвратить. Например, пароль нового пользователя необходимо зашифровать перед сохранением в базе данных, чтобы легко предотвратить несанкционированный доступ пользователя. Один из способов шифрования - использовать хеш-функцию. В PHP существует множество встроенных хеш-функций для шифрования данных. Он шифрует данные, не меняя их первоначального значения. Некоторые часто используемые хэш-функции PHP - это md5 (), sha1 () и hash (). Использование этих функций объясняется в этом руководстве.

md5 () Функция

Функция md5 () использует алгоритм Message-Digest для шифрования. Эта функция вычисляет хеш-значение md5 исходного значения. Синтаксис этой функции приведен ниже.

Синтаксис:

строка md5 (строка $ строка, [bool $ raw])

Эта функция может принимать два аргумента. Первый аргумент является обязательным и используется для получения строкового значения, которое будет зашифровано. Второй аргумент является необязательным и используется для хранения любого логического значения. Функция возвращает 32-разрядное шестнадцатеричное число, если необязательный аргумент не используется, и 16-разрядное шестнадцатеричное число, если необязательное значение ИСТИНА.

Пример: использование md5 ()

В следующем примере показано использование md5 () функция для шифрования любых данных. Создайте файл PHP со следующим скриптом, чтобы увидеть, как работает эта функция.

В сценарии, $ original_string переменная используется для хранения строкового значения, которое позже зашифровывается с помощью md5 () функция. И исходное значение, и зашифрованные значения будут напечатаны после выполнения скрипта.

// Определяем строковое значение
$ original_string = 'LinuxHint';
// Распечатываем исходное значение
эхо "

Исходные данные:

". $ original_string;
// Шифровать строковое значение
$ encrypted_string = md5 ($ original_string);
// Распечатываем зашифрованное значение
эхо "

Зашифрованные данные после использования md5 ():

$ encrypted_string ";
?>

Выход:
Следующий вывод появится после запуска скрипта с сервера. В функции md5 () не используется необязательный аргумент. Итак, на выходе отображаются 32-битные шестнадцатеричные числа.

sha1 () Функция

Эта функция использует алгоритм безопасного хеширования 1 для шифрования. Синтаксис этой функции приведен ниже.

Синтаксис:

строка sha1 (строка $ строка, [bool $ raw])

Эта функция может принимать два аргумента, например алгоритм хеширования md5 (). Первый аргумент принимает строковое значение, которое будет зашифровано. Необязательный аргумент принимает любое логическое значение. Если необязательный аргумент не передан, функция возвращает шестнадцатеричное число из 40 символов. Если необязательное значение установлено на ИСТИНА, функция возвращает необработанные двоичные данные.

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

В следующем примере показано использование sha1 () функция для шифрования любых данных. Создайте файл PHP со следующим скриптом, чтобы увидеть, как работает эта функция.

В сценарии, $ original_string переменная используется для хранения строкового значения, которое позже зашифровывается с помощью sha1 () функция с необязательным аргументом и без него. И исходное значение, и зашифрованные значения будут напечатаны после выполнения скрипта.

// Определяем строковое значение
$ original_string = 'LinuxHint';
// Распечатываем исходное значение
эхо "

Исходные данные:

". $ original_string;
// Шифровать строковое значение
$ encrypted_string = sha1 ($ original_string);
// Распечатываем зашифрованное значение
эхо "

Зашифрованные данные после использования sha1 ():

$ encrypted_string ";
// Шифровать строковое значение
$ encrypted_string2 = sha1 ($ original_string, ИСТИНА);
// Распечатываем зашифрованное значение
эхо "

Зашифрованные данные после использования sha1 () с необязательным аргументом:

$ encrypted_string2 ";
?>

Выход:
Следующий вывод появится после запуска скрипта с сервера. Он показывает шестнадцатеричное число из 40 символов, если в параметре не используется необязательный аргумент sha1 () функция и вывод показывает необработанные данные, когда TRUE используется в необязательном значении аргумента sha1 () функция.

Функция hash ()

функция hash () используется для генерации хеш-значения конкретной строки на основе любого алгоритма хеширования. Синтаксис этой функции приведен ниже.

строка или ложный хэш (строка $ алгоритма, строка $ данных [, bool $ binary = false])

Эта функция может принимать три аргумента. Первый аргумент принимает имя алгоритма, который будет использоваться для генерации хеш-значения строкового значения, указанного во втором аргументе. Третий аргумент не обязателен. Эта функция возвращает шестнадцатеричные цифры нижнего регистра, если необязательное значение ложно, и необработанные двоичные данные, если необязательное значение истинно. В PHP существует множество алгоритмов хеширования для генерации хеш-данных с помощью функции hash (). hash_alogs () функция может использоваться, чтобы узнать список существующих алгоритмов хеширования.

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

В следующем примере показано использование функции hash () для генерации хеш-значения с использованием любого конкретного алгоритма хеширования. Создайте файл PHP со следующим скриптом, чтобы увидеть, как работает эта функция.

'ripemd160' алгоритм хеширования используется в функции hash () для генерации хеш-значения. Функция hash () используется с необязательным аргументом в скрипте и без него. И исходное значение, и зашифрованные значения будут напечатаны после выполнения скрипта.

// Определяем строковое значение
$ original_string = 'LinuxHint';
// Распечатываем исходное значение
эхо "

Исходные данные:

". $ original_string;
// Шифровать строковое значение
$ encrypted_string = хэш ('ripemd160', $ original_string);
// Распечатываем зашифрованное значение
эхо "

Зашифрованные данные после использования hash ():

$ encrypted_string ";
// Шифровать строковое значение
$ encrypted_string2 = hash ('ripemd160', $ original_string, ИСТИНА);
// Распечатываем зашифрованное значение
эхо "

Зашифрованные данные после использования hash () с необязательным аргументом:

$ encrypted_string2 ";
?>

Выход:
Следующий вывод появится после запуска скрипта с сервера. Он показывает шестнадцатеричное число в виде хеш-значения, когда не используется необязательный аргумент, и необработанные данные, когда необязательный аргумент используется в функции hash ().

Заключение

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

Лучшие приложения для сопоставления геймпадов для Linux
Если вам нравится играть в игры на Linux с помощью геймпада вместо стандартной системы ввода с клавиатуры и мыши, для вас есть несколько полезных прил...
Полезные инструменты для геймеров Linux
Если вам нравится играть в игры на Linux, скорее всего, вы использовали приложения и утилиты, такие как Wine, Lutris и OBS Studio, для улучшения игров...
Игры HD Remastered для Linux, ранее не выпускавшиеся для Linux
Многие разработчики и издатели игр придумывают HD-ремастеры старых игр, чтобы продлить жизнь франшизы, порадовать фанатов, требующих совместимости с с...