ABDFGHIJKLMNOPQ
1
Hash FunctionBitsTimeRecommendNotes
2
Hashing#adler32321.00NoChecksumming only (trades reliability for speed)
3
Hashing#crc32321.52No
4
Hashing#goodFastHash(32)322.73YesNot stable between VM runs
5
Hashing#murmur3_32322.75Yes
6
Hashing#goodFastHash(64)645.25YesNot stable between VM runs
7
Hashing#murmur3_1281285.26Yes
8
Hashing#goodFastHash(128)1285.41YesNot stable between VM runs
9
Hashing#md51286.03NoNot cryptographically secure or collision-resistant
10
Hashing#sha11609.78NoNot cryptographically secure
11
Hashing#goodFastHash(256)25610.41YesNot stable between VM runs
12
Hashing#sha25625617.58NoProbably cryptographically secure
13
Hashing#sha51251243.78Yes
14
Hashing#goodFastHash(int bits)Nn/aYesNot stable; user configured N-bit HashCodes
15
16
17
Benchmark: https://github.com/google/guava/blob/master/guava-tests/benchmark/com/google/common/hash/HashFunctionBenchmark.java
18
Time is expressed relative to the adler32 runtime.
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100