Advertisement
Guest User

MD5 Regex vs No regex

a guest
May 12th, 2018
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.83 KB | None | 0 0
  1. <?php
  2.  
  3. $isValidMd5Regex = function($md5=''){
  4.   return preg_match('/^[a-f0-9]{32}$/', $md5);
  5. };
  6.  
  7. $isValidMd5NoRegex = function ($md5=''){
  8.   return strlen($md5) == 32 && ctype_xdigit($md5);
  9. };
  10.  
  11. $list=[];
  12.  
  13. for($i=0;$i<10000;$i++){
  14.   $j=32;
  15.   if($i%2 == 0) $j=rand(1,128);
  16.   $s='';
  17.   for($k=0;$k<$j;$k++){
  18.     if($j==32){
  19.       $s.=chr(rand(0x61,0x7a));
  20.     } else {
  21.       $s.=chr(rand(0x21,0x7e));
  22.     }
  23.   }
  24.   array_push($list,$s);
  25. }
  26.  
  27. function check($func){
  28.   global $list;
  29.   $c = count($list);
  30.   $start = microtime(true);
  31.   for($i=0;$i<10000;$i++){
  32.     for($j=0;$j<$c;$j++){
  33.       $func($list[$j]);
  34.     }
  35.   }
  36.   $end = microtime(true);
  37.   $time = $end - $start;
  38.  
  39.   echo "Completed in $time\n";
  40. }
  41.  
  42. check($isValidMd5Regex);
  43. check($isValidMd5NoRegex);
  44.  
  45. ?>
  46.  
  47. Completed in 8.948627948761
  48. Completed in 5.0699028968811
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement