Skip to content

Commit e56ac1a

Browse files
committed
Speed up MD5 hash calculation a bit
On an MS Surface 8, the solution for year 2015, day 4, is sped up from 10 seconds down to 2 seconds duration.
1 parent 4877559 commit e56ac1a

File tree

1 file changed

+5
-3
lines changed
  • src/main/kotlin/de/ronny_h/aoc/extensions

1 file changed

+5
-3
lines changed

src/main/kotlin/de/ronny_h/aoc/extensions/Hashing.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ package de.ronny_h.aoc.extensions
33
import java.math.BigInteger
44
import java.security.MessageDigest
55

6+
private val messageDigest = MessageDigest.getInstance("MD5")
7+
68
/**
79
* Converts string to md5 hash.
810
*/
9-
fun String.md5() = BigInteger(1, MessageDigest.getInstance("MD5").digest(toByteArray()))
10-
.toString(16)
11-
.padStart(32, '0')
11+
fun String.md5() = messageDigest
12+
.digest(toByteArray())
13+
.toHexString()

0 commit comments

Comments
 (0)