EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

Hashing Function in PHP

Home » Software Development » Software Development Tutorials » PHP Tutorial » Hashing Function in PHP

Hashing Function in PHP

Introduction to Hashing Function in PHP?

Hashing function in PHP is a special method pre-defined and used for indicating a string in the form of a definite value measured from the string’s characters. It is popular for its application as an encryption algorithm and as an index value representation for items in the database. The most commonly used types of hashing algorithm in the process of data encryption are SHA1() and MD5(). In PHP, the hashing function are of four different types, like Hash_equals, Hash_final, Hash_init and Hash_copy.

How Hashing Function Works and its Syntax?

PHP is a server-side programming language and its major role is it has to process the back-end functionality required for a particular application. In this process, authentication plays a vital role as vulnerabilities can exploit the data easily. One way of securing the data is to store it in the database in its original form but this could lead to a situation where the intruder/unauthorized person can take the data easily and it can be compromised. This situation can be easily handled by using Hashing functions.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

Hash functions encrypt the data in its true form hence without changing its meaning. So, when a user enters the data in its true form the data will get encrypted in the backend and thus authentication and authorization of the data process happens. The most commonly used hash algorithms are md5 (), sha1 () and few hash functions. These algorithms are used by the developer to authenticate the data entered by the user is correct or not to proceed further with the process.

1. MD5 ()

This algorithm is one of the powerful hashing algorithms which calculates the md5 hash i.e. the hash of 16 or 32-character hexadecimal number of a particular string. This string passed will be converted into the encrypted hexadecimal form.

Syntax: string md5 ($string, $getRawOutput)

The above syntax indicated the $string as the input string. The raw output is an optional input as the developer wants to convert it to 16 bit or 32 bit. If 16 bit has to enable it has to be set TRUE Boolean and passed to the function. If it is not set then the default of 32 bit is set automatically.

Example: md5 (EduCBA, TRUE)

2. SHA1 ()

This algorithm is one of the powerful hashing algorithms which calculates the sha1 hash i.e. the hash of 20 character binary format or 40-character hexadecimal number of a particular string. This string passed will be converted into the encrypted hexadecimal form.

Popular Course in this category
PHP Training (5 Courses, 3 Project)5 Online Courses | 3 Hands-on Project | 28+ Hours | Verifiable Certificate of Completion | Lifetime Access
4.5 (5,726 ratings)
Course Price

View Course

Related Courses
Java Servlet Training (6 Courses, 12 Projects)All in One Software Development Bundle (600+ Courses, 50+ projects)

Syntax: string sha1 ($string, $getRawOutput)

The above syntax indicated the $string as the input string. The raw output is an optional input as the developer wants it to be of 20 bit or 40 bit. If 20 bit has to enable it has to be set TRUE Boolean and passed to the function. If it is not set then the default of 40 bit is set automatically.

Example: sha1 (EduCBA, TRUE)

Hashing Function in PHP

The below listed are few hashing functions used in PHP to encrypt/convert the data from original to hashed form.

1. Hash_equals

This function compares the two strings at the same time whether they are equal or not. This function returns TRUE when the strings are equal and FALSE if the strings are not equal. Both the arguments should be the same to compare the strings else it will immediately return false without even comparing strings alphabetically and sometimes the length of the string can also be revealed in case of timing attack.

2. Hash_final

This function returns a hash digest of the input string passed to this function. When the raw output set to TRUE then it gives raw binary data and when it is set to FALSE it gives a lowercase hexadecimal number. This function returns a calculated hexadecimal digest of the string as an output.

3. Hash_init

This function is used along with the hashing algorithms i.e. md5 (), sha (), etc. This function along with the hashing algorithms produces output to use with hash_update (), hash final (), etc. The output of the hash_init is stored in a string or variable and passed to any one of the functions.

4. Hash_copy

This function is used to copy the hashing context. The string passed as an input to the function is hashed by one of the algorithms used in hash_init() function and the corresponding output would be the hashed string which is passed to this function. This function returns a hashed form of the output given by the hash_init function.

Examples of Hashing Function in PHP

The following is a list of hashing function in PHP explained in detail,

Example #1

Code:

<?php
$c = hash_init("md5");
hash_update($c, "content");
$copy_c = hash_copy($c);
echo hash_final($c);
hash_update($copy_c, "content");
echo hash_final($copy_c), "\n";
?>

Output:

Hashing Function in PHP 1-1

Example #2

Code:

<?php
$expected  = crypt('leela123', '$2a$07$user$');
$right   = crypt('leela123', '$2a$07$user$');
$wrong = crypt('leeeela233',  '$2a$07$usedwrongstring$');
var_dump(hash_equals($expected, $right));
var_dump(hash_equals($expected, $wrong));
?>

Output:

Hashing Function in PHP 1-2

Example #3

Code:

<?php
$hash = hash_init('sha1');
hash_update($hash, 'This is an example of PHP Hash function');
echo hash_final($hash);
?>

Output:

echo hash final

Conclusion

In this article, we discussed what is hashing and its various algorithms. Also, we discussed a few hashing functions used in PHP to encrypt the data to prevent malicious and vulnerable attacks. Because of these attacks, the data is not secure and loss of data occurs. So, the hashing technique was introduced so that there will be no loss of data and it will be secured by various attacks.

Recommended Articles

This is a guide to Hashing Function in PHP. Here we discuss its working, syntax, and top 4 hashing function in PHP with examples and code implementation. You may also look at the following articles to learn more –

    1. Functions in PHP
    2. Palindrome in PHP
    3. Associative Array in PHP 
    4. PHP Split Array

PHP Training (5 Courses, 3 Project)

5 Online Courses

3 Hands-on Project

28+ Hours

Verifiable Certificate of Completion

Lifetime Access

Learn More

1 Shares
Share
Tweet
Share
Primary Sidebar
PHP Tutorial
  • Functions
    • Functions in PHP
    • PHP Math Functions
    • PHP Recursive Function
    • PHP String Functions
    • Hashing Function in PHP
    • Date Function in PHP
    • PHP Anonymous Function
    • Calendar in PHP
    • PHP Call Function
    • PHP Pass by Reference
    • PHP ucfirst()
    • PHP ucwords()
    • trim() in PHP
    • isset() Function in PHP
    • PHP replace
    • PHP fpm
    • PHP strpos
    • preg_match in PHP
    • PHP preg_replace()
    • PHP ob_start()
    • PHP Reflection
    • PHP Split String
    • PHP URL
    • PHP preg_match_all
    • PHP strtoupper()
    • PHP preg_split()
    • PHP substr_replace()
    • PHP setlocale()
    • PHP substr_count()
    • PHP Serialize
    • PHP strlen()
    • PHP async
    • PHP Date Time Functions
    • PHP timezone
    • PHP Data Object
    • print_r() in PHP
    • PHP header()
    • PHP strip_tags()
    • PHP chop()
    • PHP MD5()
    • PHP unset()
    • PHP crypt()
    • PHP wordwrap()
    • PHP is_null()
    • PHP strtok()
    • PHP bin2hex()
    • PHP parse_str()
    • PHP levenshtein()
    • PHP addslashes()
    • PHP strtotime
    • PHP sha1()
    • PHP explode()
    • PHP sscanf()
    • PHP require_once
    • PHP Zip Files
    • PHP $_SERVER
    • PHP $_POST
    • PHP Include and Require
    • PHP POST Method
  • PHP Basic
    • Introduction To PHP
    • What is PHP
    • PHP Keywords
    • Advantages of PHP
    • Career In PHP
    • Comments in PHP
    • PHP Commands
    • PHP Frameworks
    • PHP Compiler
    • Variables in PHP
    • PHP Superglobal Variables
    • PHP Versions
    • Object in PHP
    • What is Drupal
    • Top PHP Frameworks
    • WebStorm IDE
    • What is phpMyAdmin?
    • PhpStorm
    • Install phpMyAdmin
    • Phalcon Model
  • Data Types
    • PHP Data Types
    • PHP Integer
    • PHP Booleans
  • Operators
    • PHP Operators
    • Arithmetic Operators in PHP
    • Comparison Operators in PHP
    • Logical Operators in PHP
    • Bitwise Operators in PHP
    • Ternary Operator in PHP
    • PHP String Operators
  • Control Statements
    • Control Statement in PHP
    • PHP if Statement
    • if else Statement in PHP
    • elseif in PHP
    • PHP Switch Statement
    • Continue in PHP
    • Break in PHP
  • Loops
    • PHP Loops
    • For Loop in PHP
    • PHP Do While Loop
    • PHP While Loop
    • While Loop in PHP
    • Foreach Loop in PHP
  • Constructor
    • Constructor in PHP
    • Destructor in PHP
  • State Management
    • Cookie in PHP
    • Sessions in PHP
  • Array
    • What is PHP Array
    • Arrays in PHP
    • 2D Arrays in PHP
    • Associative Array in PHP 
    • Multidimensional Array in PHP
    • Indexed Array in PHP
    • PHP Array Functions
    • PHP unset Array
    • PHP Append Array
    • PHP Array Search
    • PHP Split Array
    • PHP array_push()
    • PHP array_pop()
  • Advanced
    • Overloading in PHP
    • Overriding in PHP
    • Method Overloading in PHP
    • Inheritance in PHP
    • Multiple Inheritance in PHP
    • PHP Interface
    • Encapsulation in PHP
    • PHP Constants
    • PHP Magic Constants
    • PHP Regular Expressions
    • PHP GET Method
    • PHP Annotations
    • PHP Encryption
    • PHP file Functions
    • PHP readfile
    • PHP?Write File
    • PHP Append File
    • PHP Type Hinting
    • PHP Filters
    • PHP Float
    • PHP Form
    • PHP Form Validation
    • Sorting in PHP
    • PHP usort()
    • PHP Stack Trace
    • PHP Stack Overflow
    • PHP Pagination
    • PHP implode
    • Polymorphism in PHP
    • Abstract Class in PHP
    • PHP Final Class
    • PHP Custom Exception
    • error_reporting() in PHP
    • PHP Log Errors
    • Access Modifiers in PHP
    • PHP Change Date Format
    • Static Method in PHP
    • PHP File Handling
    • PHP Output Buffering
    • Get IP Address in PHP
    • Upload a File in PHP
    • String in PHP
    • Public Function in PHP
    • Private in PHP
    • Protected in PHP
    • basename in PHP
    • Validation in PHP
    • PHP mail()
    • PHP Email Form
    • PHP Directory
    • PHP Create Session
    • PHP include_once
    • PHP json_decode
    • PHP XMLWriter
    • PHP XML Reader
    • PHP XML Parser
    • PHP XML into Array
    • Phalcon Framework
  • Programs
    • Patterns in PHP
    • Star Patterns in PHP
    • Swapping in PHP
    • Fibonacci Series PHP
    • Factorial in PHP
    • Reverse String in PHP
    • Square Root in PHP
    • Random Number Generator in PHP
    • Palindrome in PHP
    • Prime Numbers in PHP
    • Armstrong Number in PHP
    • Socket Programming in PHP
    • Login Page in PHP
    • PHP Login Template
    • PHP Object to String
  • Database
    • PHP Database Connection
    • How to Connect Database to PHP
  • Interview Questions
    • PHP Interview Questions
    • PHP OOP Interview Questions
    • CakePHP Interview Questions
    • Core PHP Interview Questions

Related Courses

PHP Training Course

Java Servlet Training

Software Development Course Training

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - PHP Training (5 Courses, 3 Project) Learn More