편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
5번째 줄: | 5번째 줄: | ||
==소스 코드== | ==소스 코드== | ||
< | <source lang='php'> | ||
<!DOCTYPE html> | |||
<meta charset="utf-8" /> | |||
<?php | <?php | ||
function get_time() { | function get_time() { | ||
return | list($usec, $sec) = explode(" ", microtime()); | ||
return ((float)$usec + (float)$sec); | |||
} | } | ||
$algos = | $algos = array('md2','md4','md5','sha1','sha256','sha384','sha512', | ||
'ripemd128','ripemd160','ripemd256','ripemd320','whirlpool', | 'ripemd128','ripemd160','ripemd256','ripemd320','whirlpool', | ||
'tiger128,3','tiger160,3','tiger192,3','tiger128,4','tiger160,4','tiger192,4', | 'tiger128,3','tiger160,3','tiger192,3','tiger128,4','tiger160,4','tiger192,4', | ||
17번째 줄: | 20번째 줄: | ||
'haval128,3','haval160,3','haval192,3','haval224,3','haval256,3','haval128,4', | 'haval128,3','haval160,3','haval192,3','haval224,3','haval256,3','haval128,4', | ||
'haval160,4','haval192,4','haval224,4','haval256,4','haval128,5','haval160,5', | 'haval160,4','haval192,4','haval224,4','haval256,4','haval128,5','haval160,5', | ||
'haval192,5','haval224,5','haval256,5' | 'haval192,5','haval224,5','haval256,5'); | ||
echo "알고리즘\t수행시간 | echo "<textarea style='width:800px;height:500px'>"; | ||
echo "알고리즘\t수행시간\t해시값\n"; | |||
foreach($algos as $algo) { | foreach($algos as $algo) { | ||
$start = get_time(); | |||
for($i=0;$i<200000;$i++) $hash_value = hash($algo, '다람쥐 헌 쳇바퀴 타고파'); | |||
$end = get_time(); | |||
$time = $end - $start; | |||
echo $algo."\t"; | |||
echo number_format($time,5)."\t"; | |||
echo $hash_value."\n"; | |||
} | } | ||
</ | echo "</textarea>"; | ||
</source> | |||
==비교 결과== | ==비교 결과== | ||
위쪽이 빠름 | |||
{| class='wikitable' | {| class='wikitable' | ||
! | ! 순위 !! 알고리즘 !! 수행시간 (초) !! 값길이 !! 해시값 | ||
! | |||
! | |||
! | |||
! | |||
|- | |- | ||
| 1 || crc32b || 0.17888 || 8 || 590d4e4b | | 1 || crc32b || 0.17888 || 8 || 590d4e4b | ||
131번째 줄: | 129번째 줄: | ||
[[분류: PHP]] | [[분류: PHP]] | ||
[[분류: 해시 함수]] | [[분류: 해시 함수]] | ||