I hacked this script. I recommend playing with the value of $ random_len. Different values give interesting results.
<?php $random_len = 100; $time_begin = microtime(true); $table_html = ''; $algos = hash_algos(); $fh = @fopen('/dev/urandom', 'rb'); $random = fread( $fh, $random_len ); $time_rand = microtime(true) - $time_begin; foreach ($algos as $algo) { $begin = microtime(true); $hash = hash($algo, $random); $end = microtime(true) - $begin; $table_html .= '<tr><td>' . $algo . '</td><td>' . $end . '</td><td>' . $hash . '</td></tr>'; } $time_end = microtime(true) - $time_begin; ?> <html> <style>body{font-family:monospace}td{white-space:nowrap}</style> <h1>PHP hashing algorithm execution time</h1> <p>Random data length: <?php echo $random_len; ?> bytes</p> <p>Random data elapsed time: <?php echo $time_rand; ?> seconds</p> <p>Total elapsed time: <?php echo $time_end; ?> seconds</p> <table border=1> <thead><tr><th>Algorithm</th><th>Execution Time (s)</th><th>Hashed Output</th></tr></thead> <tbody> <?php echo $table_html; ?> </tbody> </table> </html>
Isius source share