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.