package Ġcom . so y wiz . k rypto Ċ Ċ import Ġcom . so y wiz . k rypto . encoding . ASCII Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠMD 4 Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Empty () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" 3 1 d 6 cfe 0 d 1 6 ae 9 3 1 b 7 3 c 5 9 d 7 e 0 c 0 8 9 c 0 ", ĠMD 4 . digest ( ASCII (" ")). hex ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 1 () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" bde 5 2 cb 3 1 de 3 3 e 4 6 2 4 5 e 0 5 fb dbd 6 fb 2 4 ", ĠMD 4 . digest ( ASCII (" a ")). hex ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" bde 5 2 cb 3 1 de 3 3 e 4 6 2 4 5 e 0 5 fb dbd 6 fb 2 4 ", ĠASCII (" a "). hash ( MD 4 ). hex ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" bde 5 2 cb 3 1 de 3 3 e 4 6 2 4 5 e 0 5 fb dbd 6 fb 2 4 ", ĠASCII (" a "). md 4 (). hex ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 2 () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" 5 2 f 5 0 7 6 fab d 2 2 6 8 0 2 3 4 a 3 fa 9 f 9 dc 5 7 3 2 ", ĠMD 4 . digest ( ByteArray ( 6 4 ) Ġ{ Ġ' a '. to Byte () Ġ}). hex ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 3 () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" a 4 4 8 0 1 7 aaf 2 1 d 8 5 2 5 fc 1 0 ae 8 7 aa 6 7 2 9 d ", ĠMD 4 . digest ( ASCII (" abc ")). hex ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" a 4 4 8 0 1 7 aaf 2 1 d 8 5 2 5 fc 1 0 ae 8 7 aa 6 7 2 9 d ", ĠMD 4 (). update ( ASCII (" a ")). update ( ASCII (" bc ")). digest (). hex ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" d 9 1 3 0 a 8 1 6 4 5 4 9 fe 8 1 8 8 7 4 8 0 6 e 1 c 7 0 1 4 b ", ĠMD 4 . digest ( ASCII (" message Ġdigest ")). hex ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" d 7 9 e 1 c 3 0 8 aa 5 bb cde ea 8 ed 6 3 df 4 1 2 da 9 ", ĠMD 4 . digest ( ASCII (" abcdefgh ijkl mnopqrst uvw xyz ")). hex ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" 0 4 3 f 8 5 8 2 f 2 4 1 db 3 5 1 ce 6 2 7 e 1 5 3 e 7 f 0 e 4 ", ĠMD 4 . digest ( ASCII (" ABCDEF GH IJ KL MN OP Q RST UV W XYZ abcdefgh ijkl mnopqrst uvw xyz 0 1 2 3 4 5 6 7 8 9 ")). hex ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" e 3 3 b 4 ddc 9 c 3 8 f 2 1 9 9 c 3 e 7 b 1 6 4 fcc 0 5 3 6 ", ĠMD 4 . digest ( ASCII (" 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 ")). hex ) ĊĠĠĠ Ġ} Ċ } Ċ