"해시 알고리즘 속도 비교"의 두 판 사이의 차이

29번째 줄: 29번째 줄:
for($i=0;$i<100000;$i++) {
for($i=0;$i<100000;$i++) {
$hash_value = hash($algo, '다람쥐 쳇바퀴 타고파');
$hash_value = hash($algo, '다람쥐 쳇바퀴 타고파');
}
}

2013년 2월 21일 (목) 08:06 판

해시 함수 속도 비교
해시 알고리즘 속도 비교

1 개요

해시 알고리즘들의 속도를 비교하기 위해 10만회씩 실행시키고 걸린 시간을 측정하였다.

2 소스 코드

<!DOCTYPE html>
<meta charset="utf-8" />
<?php
function get_time() {
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

$algos = array('md2','md4','md5','sha1','sha256','sha384','sha512',
'ripemd128','ripemd160','ripemd256','ripemd320','whirlpool',
'tiger128,3','tiger160,3','tiger192,3','tiger128,4','tiger160,4','tiger192,4',
'snefru','gost','adler32','crc32','crc32b',
'haval128,3','haval160,3','haval192,3','haval224,3','haval256,3','haval128,4',
'haval160,4','haval192,4','haval224,4','haval256,4','haval128,5','haval160,5',
'haval192,5','haval224,5','haval256,5');

echo "<textarea style='width:800px;height:500px'>";
echo "알고리즘\t수행시간\t해시값\n";
foreach($algos as $algo) {
	$start = get_time();
	
	for($i=0;$i<100000;$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>";
?>

3 비교 결과

순위 알고리즘 수행시간 해시값
1 crc32b 0.08666 7b0edaff
2 crc32 0.09154 bfc3bc45
3 adler32 0.09953 7815aa6f
4 md4 0.10341 e26235ade8d8a519549e567fbfa376fe
5 md5 0.11429 e0f78e455d4ec3b3f86c3227d6dcb416
6 sha1 0.12123 0c7302fe9b2230f512d7f568be8cb582f0235b58
7 tiger160,3 0.12211 36dc1eaf4ad43aeec3bb62b4b76982cebea7b49d
8 tiger128,3 0.12267 36dc1eaf4ad43aeec3bb62b4b76982ce
9 tiger192,3 0.12675 36dc1eaf4ad43aeec3bb62b4b76982cebea7b49d8e5f535d
10 tiger128,4 0.13667 a67e70547e505863a0f486cc4f00ebf2
11 tiger160,4 0.13779 a67e70547e505863a0f486cc4f00ebf2c6476d6a
12 tiger192,4 0.13814 a67e70547e505863a0f486cc4f00ebf2c6476d6abc6fe8ba
13 ripemd128 0.17244 dca78ff4148cc59c5765decf5410caa5
14 ripemd256 0.17631 0155faa4e6d00cf71a3c9bb3fa6e065b573b7611f338311b85caf48897d11ddc
15 ripemd160 0.19589 ffcea34506173f7e95d2186f84ce57dbde133da9
16 ripemd320 0.20958 30fc39db6b1bb704d1f34978f15aa027eb41f9aefa4b1de9d80b2e68718db95160233848f447391d
17 sha256 0.21007 6f43271fee8a49f84e88dcb5fc9d9f0908a0df7b9faa838ceb8d8ba317c187da
18 haval128,3 0.24087 8933d61cefc3176338d7483a13d51a90
19 haval160,3 0.24137 8e3ffa3021d39e4a89c24b657d292462c16cd18b
20 haval192,3 0.24474 ffccd3d58711aad4ba6ff6a1ba8b37fe24f2a91f3c818189
21 haval224,3 0.24656 ceccc69dee45357ffcccbe6073816703f492a39ce5f8e7ec0d62d4fd
22 haval256,3 0.25005 9e935271fa2e3132ffa3a2f5fefe7e49d288b4ced5d6ec3c9d126cc96f752e24
23 sha384 0.25736 932dce4e61c81716cec6f9459160565157d8b697be26460edeb10a94cf407e2e8fee5d3436e2a58ef0b0ceae5be23621
24 sha512 0.26119 daf03f090d363668e81826ba4ba41577aedd072d1eb822fea90bd25cb8b071b4ed9c5816b50c4d4490974dc7318d03a3da475ab9afee1b6b63fc26cfebf4ed7f
25 haval128,4 0.29859 c2160db8791266f94d818e6a663ad6d5
26 haval160,4 0.30165 b117832a8895570c570d5477e1302f78441c66d8
27 haval256,4 0.30694 612dc753a8edc4d594be8d2f2b9256a7bf5b4a06fd06167bc5994a7678c1086f
28 haval192,4 0.30801 e7d3e27d0bfe4d1a057161cd420e4ab664a8389c8a80881d
29 haval224,4 0.3081 203308629dda469a1561cb614bf2fed821a1728bdfbcc57eb97e40f4
30 haval128,5 0.33649 6b099f9fbeabf26626eb3f8cdf0acb9f
31 haval160,5 0.3375 8e058a6dcb463644a8220d9a688ca10ce935e676
32 haval192,5 0.33997 aa089bfb7201fca82c4876a575d0b42c2586eefd88f0a6e1
33 haval256,5 0.35165 cbd8844c8b186437e494f12cbc3839308d23caee0089633ac2013609fd0f267c
34 haval224,5 0.355 96e3ecccfbab338e6a533c64b432e027cd4cdd63f838bbdce1a3e28a
35 whirlpool 0.54685 0fba24797520080a3f4cc1f66f2447f71cc0d3a6b8e81c49b8733234adf46661387586e1578b08dc01075076cd85d9e20faea1d4c88a0038a2201f41af511e54
36 gost 0.64053 6d2f8c38e06a05f22eccb43cd1d59ea083305b3fa5534e48d1c6cb6f61197910
37 snefru 0.99872 1f1ae535ff0334d17e58e7827ce882c2ccd855b34f97cc8bc3c2bb4cbd82cd0d
38 md2 1.42272 2ce22516e87b7770375f2773adb586c9

4 같이 보기

5 참고자료

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}