File tree Expand file tree Collapse file tree 2 files changed +41
-0
lines changed
core-kotlin-modules/core-kotlin-9/src/test Expand file tree Collapse file tree 2 files changed +41
-0
lines changed Original file line number Diff line number Diff line change
1
+ package com.baeldung.md5
2
+
3
+ import org.junit.jupiter.api.Assertions.assertEquals
4
+ import org.junit.jupiter.api.Test
5
+ import java.io.File
6
+ import java.security.MessageDigest
7
+
8
+ class Md5UnitTest {
9
+ @Test
10
+ fun `Calling extension md5 should return a md5 hash` () {
11
+ val stringToBeHashed = " Hello, Baeldung!"
12
+ val expectedHash = " 6469a4ea9e2753755f5120beb51587f8"
13
+ val calculatedHash = stringToBeHashed.md5()
14
+
15
+ assertEquals(expectedHash, calculatedHash)
16
+ }
17
+
18
+ @Test
19
+ fun `Calling extension md5 on a file should return a md5 hash` () {
20
+ val fileToBeHashed = File (" src/test/resources/test_md5.txt" )
21
+ val expectedHash = " ef948f943cdba8514ed5aab7592a904d"
22
+ val calculatedHash = fileToBeHashed.md5()
23
+
24
+ assertEquals(expectedHash, calculatedHash)
25
+ }
26
+ }
27
+
28
+ @OptIn(ExperimentalStdlibApi ::class )
29
+ fun String.md5 (): String {
30
+ val md = MessageDigest .getInstance(" MD5" )
31
+ val digest = md.digest(this .toByteArray())
32
+ return digest.toHexString()
33
+ }
34
+
35
+ @OptIn(ExperimentalStdlibApi ::class )
36
+ fun File.md5 (): String {
37
+ val md = MessageDigest .getInstance(" MD5" )
38
+ val digest = md.digest(this .readBytes())
39
+ return digest.toHexString()
40
+ }
Original file line number Diff line number Diff line change
1
+ Hello, Baeldung! I'm a file!
You can’t perform that action at this time.
0 commit comments