(use ripemd) (use message-digest) (use test) (define (ripemd128-digest obj) (message-digest-object (ripemd128-primitive) obj 'hex) ) (define (ripemd160-digest obj) (message-digest-object (ripemd160-primitive) obj 'hex) ) (test-group "128 bits" (test "cdf26213a150dc3ecb610f18f6b38b46" (ripemd128-digest "")) (test "86be7afa339d0fc7cfc785e72f578d33" (ripemd128-digest "a")) (test "c14a12199c66e4ba84636b0f69144c77" (ripemd128-digest "abc")) (test "9e327b3d6e523062afc1132d7df9d1b8" (ripemd128-digest "message digest")) (test "fd2aa607f71dc8f510714922b371834e" (ripemd128-digest "abcdefghijklmnopqrstuvwxyz")) (test "a1aa0689d0fafa2ddc22e88b49133a06" (ripemd128-digest "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq")) (test "d1e959eb179c911faea4624c60c5c702" (ripemd128-digest "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")) (test "3f45ef194732c2dbb2c4a2c769795fa3" (ripemd128-digest "12345678901234567890123456789012345678901234567890123456789012345678901234567890")) ) (test-group "160 bits" (test "9c1185a5c5e9fc54612808977ee8f548b2258d31" (ripemd160-digest "")) (test "0bdc9d2d256b3ee9daae347be6f4dc835a467ffe" (ripemd160-digest "a")) (test "8eb208f7e05d987a9b044a8e98c6b087f15a0bfc" (ripemd160-digest "abc")) (test "5d0689ef49d2fae572b881b123a85ffa21595f36" (ripemd160-digest "message digest")) (test "f71c27109c692c1b56bbdceb5b9d2865b3708dbc" (ripemd160-digest "abcdefghijklmnopqrstuvwxyz")) (test "12a053384a9c0c88e405a06c27dcf49ada62eb2b" (ripemd160-digest "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq")) (test "b0e20b6e3116640286ed3a87a5713079b21f5189" (ripemd160-digest "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")) (test "9b752e45573d4b39f4dbd3323cab82bf63326bfb" (ripemd160-digest "12345678901234567890123456789012345678901234567890123456789012345678901234567890")) ) (test-group "160 bits - byte-vector" (test "9c1185a5c5e9fc54612808977ee8f548b2258d31" (ripemd160-digest (string->blob ""))) (test "0bdc9d2d256b3ee9daae347be6f4dc835a467ffe" (ripemd160-digest (string->blob "a"))) )