PHP String md5() Function



The PHP String md5() function is a predefined function. It is basically used to compute the MD5 hash of the given string. It follows the RSA DATA security. It produces the hash as a 32 character hexadecimal number.

Syntax

Below is the syntax of the PHP String md5() function −

string md5 ( string $string, bool $binary = false )

Parameters

Here are the parameters of the md5() function −

  • $ch − It contains the information about string.

  • $option − When TRUE, returns the digest in raw binary format with a length of 16.

Return Value

The md5() function returns the hash as a 32-character hexadecimal number.

PHP Version

First introduced in core PHP 4, the md5() function continues to function easily in PHP 5, PHP 7, and PHP 8.

Example 1

First we will show you the basic example of the PHP String md5() function to calculate the MD5 hash of the given string and shows it in hexadecimal format.

<?php
   // Mention string here
   $string = "Hello, World!";
   
   // Use md5 function here
   $hash = md5($string);

   // Print the result
   echo "The MD5 hash of '$string' is: $hash";
?>

Output

Here is the outcome of the following code −

The MD5 hash of 'Hello, World!' is: 65a8e27d8879283831b664bd8b7f0ad4

Example 2

In the below PHP code we will use the md5() function and show how to compare the MD5 hash of the given user input string with a saved hash.

<?php
   $string = "password123";
   $savedHash = md5($string);

   // Simulate user input
   $userInput = "password123";

   if (md5($userInput) === $savedHash) {
      echo "Hashes match. The input is correct.";
   } else {
      echo "Hashes do not match. Incorrect input.";
   }
?> 

Output

This will generate the below output −

Hashes match. The input is correct.

Example 3

In this program we will show how to find the MD5 hash in binary (16 bytes) compared to the traditional hexadecimal format.

<?php
   $string = "SecureData";
   $binaryHash = md5($string, true);

   echo "Binary hash: ";
   for ($i = 0; $i < strlen($binaryHash); $i++) {
      echo ord($binaryHash[$i]) . " ";
   }
?> 

Output

This will create the below output −

Binary hash: 155 168 119 211 19 189 65 83 48 213 47 50 171 45 194 194

Example 4

In the following example, we will check the integrity of a file by comparing its MD5 hash with a known hash using the md5() function.

<?php
   $filename = '/PHP/PhpProjects/myfile.txt';
   // Calculate file's MD5 hash
   $fileHash = md5_file($filename);

   // Known hash (for integrity check)
   $knownHash = "5d41402abc4b2a76b9719d911017c592";

   if ($fileHash === $knownHash) {
      echo "File is intact. Hash matches.";
   } else {
      echo "File integrity compromised. Hash does not match.";
   }
?> 

Output

Following is the output of the above code −

File integrity compromised. Hash does not match.
php_function_reference.htm
Advertisements