php

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

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

md5 () Функция

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

Синтаксис:

низ md5 (низ $ низ, [bool $ суров])

Тази функция може да приема два аргумента. Първият аргумент е задължителен, който се използва за приемане на низовата стойност, която ще бъде криптирана. Вторият аргумент е по избор, който се използва за съхраняване на всяка булева стойност. Функцията връща 32-битово шестнадесетично число, ако не се използва аргументът по избор, и връща 16-битово шестнадесетично число, ако незадължителната стойност е TRUE.

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

Следващият пример показва използването на md5 () функция за криптиране на всякакви данни. Създайте PHP файл със следния скрипт, за да видите как работи тази функция.

В сценария, $ original_string променливата се използва за съхраняване на низова стойност, която е криптирана по-късно с помощта на md5 () функция. И първоначалната стойност, и криптираните стойности ще бъдат отпечатани след изпълнение на скрипта.

// Дефиниране на стойност на низ
$ original_string = 'LinuxHint';
// Отпечатваме оригиналната стойност
ехо "

Оригиналните данни:

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

Криптираните данни след използване на md5 ():

$ encrypted_string ";
?>

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

функция sha1 ()

Тази функция използва Secure Hash Algorithm 1 за криптиране. Синтаксисът на тази функция е даден по-долу.

Синтаксис:

низ sha1 (низ $ низ, [bool $ суров])

Тази функция може да приема два аргумента като алгоритъма за хеширане md5 (). Първият аргумент приема стойността на низа, която ще бъде криптирана. Незадължителният аргумент приема всяка булева стойност. Ако не е предаден незадължителен аргумент, функцията връща 40-знаково шестнадесетично число. Ако незадължителната стойност е зададена на TRUE, тогава функцията връща необработени двоични данни.

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

Следващият пример показва използването на sha1 () функция за криптиране на всякакви данни. Създайте PHP файл със следния скрипт, за да видите как работи тази функция.

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

// Дефиниране на стойност на низ
$ original_string = 'LinuxHint';
// Отпечатваме оригиналната стойност
ехо "

Оригиналните данни:

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

Криптираните данни след използване на sha1 ():

$ encrypted_string ";
// Шифроване на стойността на низа
$ encrypted_string2 = sha1 ($ original_string, TRUE);
// Отпечатваме криптирана стойност
ехо "

Криптираните данни след използване на sha1 () с незадължителен аргумент:

$ encrypted_string2 ";
?>

Изход:
Следният изход ще се появи след стартиране на скрипта от сървъра. Той показва шестнадесетично число от 40 знака, когато в. Не се използва допълнителен аргумент sha1 () функция и изходът показва сурови данни, когато TRUE се използва в незадължителната стойност на аргумента на sha1 () функция.

функция хеш ()

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

низ или фалшив хеш (низ $ алгоритъм, низ $ данни [, bool $ binary = false])

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

Пример: Използване на хеш ()

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

„ripemd160“ алгоритъмът за хеширане се използва във функцията hash () за генериране на хеш стойността. Функцията hash () се използва със и без незадължителен аргумент в скрипта. И първоначалната стойност, и криптираните стойности ще бъдат отпечатани след изпълнение на скрипта.

// Дефиниране на стойност на низ
$ original_string = 'LinuxHint';
// Отпечатваме оригиналната стойност
ехо "

Оригиналните данни:

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

Криптираните данни след използване на hash ():

$ encrypted_string ";
// Шифроване на стойността на низа
$ encrypted_string2 = хеш ('ripemd160', $ original_string, TRUE);
// Отпечатваме криптирана стойност
ехо "

Криптираните данни след използване на hash () с незадължителен аргумент:

$ encrypted_string2 ";
?>

Изход:
Следният изход ще се появи след стартиране на скрипта от сървъра. Той показва шестнадесетичното число като хеш стойност, когато не се използва незадължителен аргумент, и суровите данни, когато незадължителният аргумент се използва във функцията hash ().

Заключение

Важните данни се изискват за криптиране за създаването на защитата на всяко уеб приложение. Различни начини за криптиране на данни са показани в този урок чрез използване на множество хеш функции на PHP. Използването на три вградени хеш функции е обяснено в този урок за генериране на криптирани данни с помощта на PHP скрипта.

Полезни инструменти за геймърите на Linux
Ако искате да играете игри на Linux, има вероятност да сте използвали приложения и помощни програми като Wine, Lutris и OBS Studio, за да подобрите иг...
HD Remastered Games за Linux, които никога преди не са имали издание на Linux
Много разработчици и издатели на игри излизат с HD ремастер на стари игри, за да удължат живота на франчайза, моля феновете, които искат съвместимост ...
Как да използвам AutoKey за автоматизиране на Linux игри
AutoKey е програма за автоматизация на настолни компютри за Linux и X11, програмирана в Python 3, GTK и Qt. Използвайки неговата функционалност за скр...