context("Test hash/hmac functions") test_that("Hash functions match openssl command line tool", { # COMPARE: echo -n "foo" | openssl dgst -md4 expect_that(unclass(sha1("foo")), equals("0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33")) expect_that(unclass(sha256("foo")), equals("2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae")) expect_that(unclass(sha512("foo")), equals("f7fbba6e0636f890e56fbbf3283e524c6fa3204ae298382d624741d0dc6638326e282c41be5e4254d8820772c5518a2c5a8c0c7f7eda19594a7eb539453e1ed7")) skip_if(fips_mode()) expect_that(unclass(md4("foo")), equals("0ac6700c491d70fb8650940b1ca1e4b2")) expect_that(unclass(md5("foo")), equals("acbd18db4cc2f85cedef654fccc4a4d8")) expect_that(unclass(ripemd160("foo")), equals("42cfa211018ea492fdee45ac637b7972a0ad6873")) }) test_that("HMAC functions match openssl command line tool", { # #COMPARE: echo -n "foo" | openssl dgst -md4 -hmac "secret" expect_that(unclass(sha1("foo", key = "secret")), equals("9baed91be7f58b57c824b60da7cb262b2ecafbd2")) expect_that(unclass(sha256("foo", key = "secret")), equals("773ba44693c7553d6ee20f61ea5d2757a9a4f4a44d2841ae4e95b52e4cd62db4")) expect_that(unclass(sha512("foo", key = "secret")), equals("82df7103de8d82de45e01c45fe642b5d13c6c2b47decafebc009431c665c6fa5f3d1af4e978ea1bde91426622073ebeac61a3461efd467e0971c788bc8ebdbbe")) skip_if(fips_mode()) expect_that(unclass(md4("foo", key = "secret")), equals("93e81ded7aec4ec0d73a97bb4792742a")) expect_that(unclass(md5("foo", key = "secret")), equals("ba19fbc606a960051b60244e9a5ed3d2")) expect_that(unclass(ripemd160("foo", key = "secret")), equals("a87093c26e44fdfa04e142e59710daa94556a5ed")) }) test_that("Connection interface matches raw interface", { mydata <- serialize(iris, NULL) saveRDS(iris, tmp <- tempfile()) expect_equal(sha1(mydata), sha1(file(tmp))) expect_equal(sha256(mydata), sha256(file(tmp))) expect_equal(sha1(mydata, key = "secret"), sha1(file(tmp), key = "secret")) expect_equal(sha256(mydata, key = "secret"), sha256(file(tmp), key = "secret")) skip_if(fips_mode()) expect_equal(md5(mydata), md5(file(tmp))) expect_equal(md5(mydata, key = "secret"), md5(file(tmp), key = "secret")) }) test_that("Connection interface matches string interface", { expect_equal(sha1(charToRaw("foo")), sha1(textConnection("foo"))) expect_equal(sha256(charToRaw("foo")), sha256(textConnection("foo"))) expect_equal(sha1(charToRaw("foo"), key = "secret"), sha1(textConnection("foo"), key = "secret")) expect_equal(sha256(charToRaw("foo"), key = "secret"), sha256(textConnection("foo"), key = "secret")) skip_if(fips_mode()) expect_equal(md5(charToRaw("foo")), md5(textConnection("foo"))) expect_equal(md5(charToRaw("foo"), key = "secret"), md5(textConnection("foo"), key = "secret")) })
Generated by dwww version 1.15 on Sun Jun 16 19:36:06 CEST 2024.