Files
c3c/test/unit7/stdlib/hash/md5.c3
2025-02-24 01:05:45 +01:00

42 lines
1.1 KiB
Plaintext

module std::hash::md5_test @test;
import std::hash::md5;
fn void test_md5_rfc()
{
Md5 md5;
md5.init();
assert (md5.final() == x'd41d8cd98f00b204e9800998ecf8427e');
md5.init();
md5.update("a");
assert (md5.final() == x'0cc175b9c0f1b6a831c399e269772661');
md5.init();
md5.update("abc");
assert (md5.final() == x'900150983cd24fb0d6963f7d28e17f72');
md5.init();
md5.update("message ");
md5.update("digest");
assert(md5.final() == x'f96b697d7cb7938d525a2f31aaf161d0');
md5.init();
md5.update("abcdefghijklmnopqrstuvwxyz");
assert(md5.final() == x'c3fcd3d76192e4007dfb496cca67e13b');
md5.init();
md5.update("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
assert(md5.final() == x'd174ab98d277d9f5a5611c2c9f419d9f');
md5.init();
md5.update("12345678901234567890123456789012345678901234567890123456789012345678901234567890");
assert(md5.final() == x'57edf4a22be3c955ac49da2e2107b67a');
}
fn void test_md5_hash()
{
assert(md5::hash("12345678901234567890123456789012345678901234567890123456789012345678901234567890") == x'57edf4a22be3c955ac49da2e2107b67a');
}