RosettaCodeData/Task/RIPEMD-160/Julia/ripemd-160.julia
2023-07-01 13:44:08 -04:00

24 lines
1.1 KiB
Text

using Nettle
labels = ["\"\" (empty string)", "\"a\"", "\"abc\"",
"\"message digest\"", "\"a...z\"",
"\"abcdbcde...nopq\"", "\"A...Za...z0...9\"",
"8 times \"1234567890\"", "1 million times \"a\""]
texts = ["", "a", "abc", "message digest", "abcdefghijklmnopqrstuvwxyz",
"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
"1234567890" ^ 8, "a" ^ 1_000_000]
expects = ["9c1185a5c5e9fc54612808977ee8f548b2258d31",
"0bdc9d2d256b3ee9daae347be6f4dc835a467ffe",
"8eb208f7e05d987a9b044a8e98c6b087f15a0bfc",
"5d0689ef49d2fae572b881b123a85ffa21595f36",
"f71c27109c692c1b56bbdceb5b9d2865b3708dbc",
"12a053384a9c0c88e405a06c27dcf49ada62eb2b",
"b0e20b6e3116640286ed3a87a5713079b21f5189",
"9b752e45573d4b39f4dbd3323cab82bf63326bfb",
"52783243c1697bdbe16d37f97f68f08325dc1528"]
for (lab, text, expect) in zip(labels, texts, expects)
digest = hexdigest("ripemd160", text)
println("# $lab\n -> digest: $digest\n -> expect: $expect")
end