Updated April 1, 2023
Introduction to PHP md5()
The MD5() function of the PHP Programming Language will produce the hash of the string which is like encoding process. MD5() function works only on PHP 4, 5, 7 versions but for the other PHP version the hash encoder “md5()” may work or may not work mostly. Most of the times md5() function is not recommended to safely secure the passwords due to the function’s fast nature of encoding with the help of its inbuilt hashing algorithm. It accepts only two parameters. In those two only one is mandatory at all times.
Syntax:
String md5 ($string, $getRawOutput)
Explanation of Parameters in brief:
MD5() function of the PHP Programming Language takes two parameters at max. They are: $string parameter and $getRawOutput parameter.
- $string: $string parameter will help us to expect the string to be hashed.
- $getRawOutput: $getRawOutput parameter will help us to expect a Boolean value. For the TRUE result the function is going to return the HASH in raw binary format which is of the length 16.
Return type: The md5() function of PHP will return the hashed string ( it can either be in lowercase hex format character sequence which is of length 32 ( 32 character hexadecimal number )or for raw binary form which is of the length 16).
How do MD5() Functions work in PHP?
MD5() function of the PHP Programming Language works for PHP 4, PHP 5 and PHP 7 versions up to now. Apart from these versions md5() function may not work mostly. It is a built-in function and by using the md5() function we initiate the HASHING algorithm inside of the PHP Programming Language. With the backend Hashing Algorithm, conversion of hashing of the specific numerical value/ string value/ any other will be done as needed. It is very helpful in the encoding process. MD5() function value will always be in 32 bit binary format unless second parameter is used inside of the md5() function. At that time md5() value will be 16 bit binary format.
Examples to Implement PHP md5()
Below are the examples:
Example #1
In the below example, a variable “$str1” is created with the string value “apples”. Then the print function is used to print some string text. After this, “$a1” variable is created and assigned md5() function with the “$str1” variable inside of md5() function. Then echo function is used to print the changed hash result by printing the “$a1” variable value. <br> is used for line break and <hr> is used for horizontal line in all this PHP code mentioned below. IF condition is used by passing some hashing result. The hash result is false when compared with the original string’s hash result. So the ELSE condition result will be printed with the help of the ECHO function.
Code:
<?php
$str1 = 'apples';
print "This is the value of HASH of apples :: ";
$a1 = md5($str1);
echo "$a1 <br>";
print "<hr>";
if (md5($str1) === '1f3870be274f6c49b3e31a0c6728957f') {
echo "If the value of apples is :: 1f3870be274f6c49b3e31a0c6728957f then it will print :: ";
echo "<br>Your condition is TRUE so";
echo "<br> Would you like a green or red apple?<br><hr>";
}
else{
echo "<br> Your input for IF conditioni is FALSE";
}
?>
Output:
Example #2
In the below example, “$input_string1” variable is created with the value “Pavan Kumar Sake”. Then the original string is printed using the echo function. “<br>” and <hr> is used for line breaks and horizontal lines only. After this md() function is used and stored in “$i1” variable to print the 16 bit binary format of the original string. It is done only by using the two parameters inside of the md5() function. Then md5() function is used again and it is only done by using only one parameter inside of the function. Here 32 bit binary format hash code which is formed by md5() will be printed using echo function.
Code:
<?php
$input_string1 = 'Pavan Kumar Sake';
echo 'Original string :: '.$input_string1.'<br><hr>';
echo '16 bit binary format :: ';
$i1 = md5($input_string1,TRUE);
echo $i1;
echo '<br><hr>';
echo '32 bit binary format :: '.md5($input_string1).'<br><hr>';
?>
Output:
Example #3
In the below examples, I am going to implement the hash codes of the numerical values which are from 0-10 using the FOR LOOP. At first inside the PHP tags, a variable “$k” is created with numerical value 10. Then FOR LOOP is created with $i values for initialization, condition and incrementing values. Loop will start from the 0 value and ends at 10 value. Inside the loop md5() function is used with $i variable value inside of it. So when the loop runs, for each and every $i variable’s value md5($i) will be calculated and prints the output of the HASH CODE of the specific numerical value. Then “<br>” is used for the line break for better output of the LOOP elements.
Code:
<?php
$k = 10;
for($i=0;$i<=$k;$i++){
print "Hash code of $i :: ";
print md5($i);
echo "<br>";
}
?>
Output:
Example #4
In the below example, username and password checking conditions are involved inside of the PHP tags. At first, “$user1” variable and “$pass1” variable is created with string values inside. Then md5() functions are used to encode the “$user1” and “$pass1” variable’s values. Then by using the echo function hash codes of the variables are printed. Then “<hr>” tag is used to print the horizontal with the help of echo function. Then IF and ELSE conditions are made to check the variables hash code values. If the hash code values of the “$user1” and “$pass1” are exactly equal to the string values passed in the IF conditions then IF conditions will become TRUE and will print some string statements which are mentioned using echo function. If the IF condition becomes FALSE then ELSE statements will be printed.
Code:
<?php
$user1 = "Pavan Kumar Sake";
$pass1 = "pavansake123";
$user1_encode = md5($user1);
$pass1_encode = md5($pass1);
echo "$user1 has hash code :: $user1_encode <br>";
echo "$pass1 has hash code :: $pass1_encode <br>";
echo "<hr>";
if (md5($user1)== "4c13476f5dd387106a2a629bf1a9a4a7"){
echo "Username is correct<br>";
if(md5($pass1)== "20b424c60b8495fae92d450cd78eb56d"){
echo "Password is also correct so login will be successful";
}
else{
echo "Incorrect Password is entered";
}
}
else{
echo "Incorrect Username is entered";
}
echo "<hr>";
?>
Output:
Conclusion
I hope you understood what is the definition of PHP md5() function with the syntax and its explanation, Info regarding the parameters in brief detail, Working of md5() function in PHP along with the various examples to understand the concept well.
Recommended Articles
This is a guide to PHP MD5(). Here we discuss the introduction, syntax, and working of MD5() in PHP along with different examples and code implementation. You can also go through our other related articles to learn more –