Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Jun 2021 09:11:45 GMT
From:      =?utf-8?Q?Stefan E=C3=9Fer?= <se@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: cb6ebbaa485a - stable/13 - sbin/md5: add tests
Message-ID:  <202106280911.15S9BjEK091150@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by se:

URL: https://cgit.FreeBSD.org/src/commit/?id=cb6ebbaa485aafaa989312f46ff8756e66efcddb

commit cb6ebbaa485aafaa989312f46ff8756e66efcddb
Author:     Stefan Eßer <se@FreeBSD.org>
AuthorDate: 2021-06-25 06:51:40 +0000
Commit:     Stefan Eßer <se@FreeBSD.org>
CommitDate: 2021-06-28 09:05:30 +0000

    sbin/md5: add tests
    
    While the correctness of the supported hash algorithms can be tested
    with the built-in self-test feature, these test cases are meant to
    detect changes in the output format.
    
    A follow-up commit will improve the compatibility with the coreutils
    versions of the hash programs, and these tests should detect any
    unintended side-effects of such a change on existing functionality.
    
    (cherry picked from commit 884fc5527a3ffd9830b941cbec328de1623044cc)
    
    sbin/md5: Create /usr/tests/sbin/md5 directory for placing tests
    
    (Fix by lwhsu (Li-Wen Hsu) to un-break "make distribute".)
    
    (cherry picked from commit cb194afef50dc4e1473413a69462aaf03cfe0ce4)
    
    sbin/md5: fix test case to not write outside temp directory
    
    The bsd-p-test did create files 1.out .. 8.out in the test directory.
    This has been fixed and the temporary output files are now written
    to the temporary directory.
    
    (cherry picked from commit 95d3044bbdadfca6120a3e7c61c9ebb9a476f369)
    
    Sponsored by:   The FreeBSD Foundation (commit cb194afef50dc only)
---
 etc/mtree/BSD.tests.dist                |  2 ++
 sbin/md5/Makefile                       |  5 ++++
 sbin/md5/tests/1.inp                    |  0
 sbin/md5/tests/1.sha512-p.chk           |  1 +
 sbin/md5/tests/1.sha512sum-p.chk        |  1 +
 sbin/md5/tests/2.inp                    |  1 +
 sbin/md5/tests/2.sha512-p.chk           |  1 +
 sbin/md5/tests/2.sha512sum-p.chk        |  1 +
 sbin/md5/tests/3.inp                    |  1 +
 sbin/md5/tests/3.sha512-p.chk           |  1 +
 sbin/md5/tests/3.sha512sum-p.chk        |  1 +
 sbin/md5/tests/4.inp                    |  1 +
 sbin/md5/tests/4.sha512-p.chk           |  1 +
 sbin/md5/tests/4.sha512sum-p.chk        |  1 +
 sbin/md5/tests/5.inp                    |  1 +
 sbin/md5/tests/5.sha512-p.chk           |  1 +
 sbin/md5/tests/5.sha512sum-p.chk        |  1 +
 sbin/md5/tests/6.inp                    |  1 +
 sbin/md5/tests/6.sha512-p.chk           |  1 +
 sbin/md5/tests/6.sha512sum-p.chk        |  1 +
 sbin/md5/tests/7.inp                    |  1 +
 sbin/md5/tests/7.sha512-p.chk           |  1 +
 sbin/md5/tests/7.sha512sum-p.chk        |  1 +
 sbin/md5/tests/8.inp                    |  1 +
 sbin/md5/tests/8.sha512-p.chk           |  1 +
 sbin/md5/tests/8.sha512sum-p.chk        |  1 +
 sbin/md5/tests/Makefile                 | 41 +++++++++++++++++++++++++++++++++
 sbin/md5/tests/algorithms.txt           | 11 +++++++++
 sbin/md5/tests/bsd-c-test.SH            | 23 ++++++++++++++++++
 sbin/md5/tests/bsd-p-test.SH            | 24 +++++++++++++++++++
 sbin/md5/tests/bsd-s-test.SH            | 30 ++++++++++++++++++++++++
 sbin/md5/tests/md5.digest               |  8 +++++++
 sbin/md5/tests/md5sum.digest            |  8 +++++++
 sbin/md5/tests/rmd160.digest            |  8 +++++++
 sbin/md5/tests/rmd160sum.digest         |  8 +++++++
 sbin/md5/tests/self-test.SH             |  8 +++++++
 sbin/md5/tests/self-test.md5.chk        |  9 ++++++++
 sbin/md5/tests/self-test.rmd160.chk     |  9 ++++++++
 sbin/md5/tests/self-test.sh_inp         |  8 +++++++
 sbin/md5/tests/self-test.sha1.chk       |  9 ++++++++
 sbin/md5/tests/self-test.sha224.chk     |  9 ++++++++
 sbin/md5/tests/self-test.sha256.chk     |  9 ++++++++
 sbin/md5/tests/self-test.sha384.chk     |  9 ++++++++
 sbin/md5/tests/self-test.sha512.chk     |  9 ++++++++
 sbin/md5/tests/self-test.sha512t256.chk |  9 ++++++++
 sbin/md5/tests/self-test.skein1024.chk  |  9 ++++++++
 sbin/md5/tests/self-test.skein256.chk   |  9 ++++++++
 sbin/md5/tests/self-test.skein512.chk   |  9 ++++++++
 sbin/md5/tests/sha1.digest              |  8 +++++++
 sbin/md5/tests/sha1sum.digest           |  8 +++++++
 sbin/md5/tests/sha224.digest            |  8 +++++++
 sbin/md5/tests/sha224sum.digest         |  8 +++++++
 sbin/md5/tests/sha256.digest            |  8 +++++++
 sbin/md5/tests/sha256sum.digest         |  8 +++++++
 sbin/md5/tests/sha384.digest            |  8 +++++++
 sbin/md5/tests/sha384sum.digest         |  8 +++++++
 sbin/md5/tests/sha512.digest            |  8 +++++++
 sbin/md5/tests/sha512sum.digest         |  8 +++++++
 sbin/md5/tests/sha512t256.digest        |  8 +++++++
 sbin/md5/tests/sha512t256sum.digest     |  8 +++++++
 sbin/md5/tests/skein1024.digest         |  8 +++++++
 sbin/md5/tests/skein1024sum.digest      |  8 +++++++
 sbin/md5/tests/skein256.digest          |  8 +++++++
 sbin/md5/tests/skein256sum.digest       |  8 +++++++
 sbin/md5/tests/skein512.digest          |  8 +++++++
 sbin/md5/tests/skein512sum.digest       |  8 +++++++
 66 files changed, 450 insertions(+)

diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist
index 1dc756aecbc5..60cdca439887 100644
--- a/etc/mtree/BSD.tests.dist
+++ b/etc/mtree/BSD.tests.dist
@@ -438,6 +438,8 @@
         ..
         ifconfig
         ..
+        md5
+        ..
         mdconfig
         ..
         nvmecontrol
diff --git a/sbin/md5/Makefile b/sbin/md5/Makefile
index dcbd94dcd381..6e29d94eb92a 100644
--- a/sbin/md5/Makefile
+++ b/sbin/md5/Makefile
@@ -36,4 +36,9 @@ LIBADD=	md
 CFLAGS+=-DHAVE_CAPSICUM
 .endif
 
+.include <src.opts.mk>
+
+HAS_TESTS=
+SUBDIR.${MK_TESTS}+= tests
+
 .include <bsd.prog.mk>
diff --git a/sbin/md5/tests/1.inp b/sbin/md5/tests/1.inp
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/sbin/md5/tests/1.sha512-p.chk b/sbin/md5/tests/1.sha512-p.chk
new file mode 100644
index 000000000000..c2f1924ca315
--- /dev/null
+++ b/sbin/md5/tests/1.sha512-p.chk
@@ -0,0 +1 @@
+cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
diff --git a/sbin/md5/tests/1.sha512sum-p.chk b/sbin/md5/tests/1.sha512sum-p.chk
new file mode 100644
index 000000000000..c2f1924ca315
--- /dev/null
+++ b/sbin/md5/tests/1.sha512sum-p.chk
@@ -0,0 +1 @@
+cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
diff --git a/sbin/md5/tests/2.inp b/sbin/md5/tests/2.inp
new file mode 100644
index 000000000000..2e65efe2a145
--- /dev/null
+++ b/sbin/md5/tests/2.inp
@@ -0,0 +1 @@
+a
\ No newline at end of file
diff --git a/sbin/md5/tests/2.sha512-p.chk b/sbin/md5/tests/2.sha512-p.chk
new file mode 100644
index 000000000000..be4d8addd112
--- /dev/null
+++ b/sbin/md5/tests/2.sha512-p.chk
@@ -0,0 +1 @@
+a1f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75
diff --git a/sbin/md5/tests/2.sha512sum-p.chk b/sbin/md5/tests/2.sha512sum-p.chk
new file mode 100644
index 000000000000..be4d8addd112
--- /dev/null
+++ b/sbin/md5/tests/2.sha512sum-p.chk
@@ -0,0 +1 @@
+a1f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75
diff --git a/sbin/md5/tests/3.inp b/sbin/md5/tests/3.inp
new file mode 100644
index 000000000000..f2ba8f84ab5c
--- /dev/null
+++ b/sbin/md5/tests/3.inp
@@ -0,0 +1 @@
+abc
\ No newline at end of file
diff --git a/sbin/md5/tests/3.sha512-p.chk b/sbin/md5/tests/3.sha512-p.chk
new file mode 100644
index 000000000000..3971db2fddea
--- /dev/null
+++ b/sbin/md5/tests/3.sha512-p.chk
@@ -0,0 +1 @@
+abcddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f
diff --git a/sbin/md5/tests/3.sha512sum-p.chk b/sbin/md5/tests/3.sha512sum-p.chk
new file mode 100644
index 000000000000..3971db2fddea
--- /dev/null
+++ b/sbin/md5/tests/3.sha512sum-p.chk
@@ -0,0 +1 @@
+abcddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f
diff --git a/sbin/md5/tests/4.inp b/sbin/md5/tests/4.inp
new file mode 100644
index 000000000000..e407fe0e6143
--- /dev/null
+++ b/sbin/md5/tests/4.inp
@@ -0,0 +1 @@
+message digest
\ No newline at end of file
diff --git a/sbin/md5/tests/4.sha512-p.chk b/sbin/md5/tests/4.sha512-p.chk
new file mode 100644
index 000000000000..cd5bad00b50d
--- /dev/null
+++ b/sbin/md5/tests/4.sha512-p.chk
@@ -0,0 +1 @@
+message digest107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c
diff --git a/sbin/md5/tests/4.sha512sum-p.chk b/sbin/md5/tests/4.sha512sum-p.chk
new file mode 100644
index 000000000000..cd5bad00b50d
--- /dev/null
+++ b/sbin/md5/tests/4.sha512sum-p.chk
@@ -0,0 +1 @@
+message digest107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c
diff --git a/sbin/md5/tests/5.inp b/sbin/md5/tests/5.inp
new file mode 100644
index 000000000000..e85d5b45283a
--- /dev/null
+++ b/sbin/md5/tests/5.inp
@@ -0,0 +1 @@
+abcdefghijklmnopqrstuvwxyz
\ No newline at end of file
diff --git a/sbin/md5/tests/5.sha512-p.chk b/sbin/md5/tests/5.sha512-p.chk
new file mode 100644
index 000000000000..77f97a5a0117
--- /dev/null
+++ b/sbin/md5/tests/5.sha512-p.chk
@@ -0,0 +1 @@
+abcdefghijklmnopqrstuvwxyz4dbff86cc2ca1bae1e16468a05cb9881c97f1753bce3619034898faa1aabe429955a1bf8ec483d7421fe3c1646613a59ed5441fb0f321389f77f48a879c7b1f1
diff --git a/sbin/md5/tests/5.sha512sum-p.chk b/sbin/md5/tests/5.sha512sum-p.chk
new file mode 100644
index 000000000000..77f97a5a0117
--- /dev/null
+++ b/sbin/md5/tests/5.sha512sum-p.chk
@@ -0,0 +1 @@
+abcdefghijklmnopqrstuvwxyz4dbff86cc2ca1bae1e16468a05cb9881c97f1753bce3619034898faa1aabe429955a1bf8ec483d7421fe3c1646613a59ed5441fb0f321389f77f48a879c7b1f1
diff --git a/sbin/md5/tests/6.inp b/sbin/md5/tests/6.inp
new file mode 100644
index 000000000000..9f75c3756298
--- /dev/null
+++ b/sbin/md5/tests/6.inp
@@ -0,0 +1 @@
+ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
\ No newline at end of file
diff --git a/sbin/md5/tests/6.sha512-p.chk b/sbin/md5/tests/6.sha512-p.chk
new file mode 100644
index 000000000000..d14aad405215
--- /dev/null
+++ b/sbin/md5/tests/6.sha512-p.chk
@@ -0,0 +1 @@
+ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567891e07be23c26a86ea37ea810c8ec7809352515a970e9253c26f536cfc7a9996c45c8370583e0a78fa4a90041d71a4ceab7423f19c71b9d5a3e01249f0bebd5894
diff --git a/sbin/md5/tests/6.sha512sum-p.chk b/sbin/md5/tests/6.sha512sum-p.chk
new file mode 100644
index 000000000000..d14aad405215
--- /dev/null
+++ b/sbin/md5/tests/6.sha512sum-p.chk
@@ -0,0 +1 @@
+ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567891e07be23c26a86ea37ea810c8ec7809352515a970e9253c26f536cfc7a9996c45c8370583e0a78fa4a90041d71a4ceab7423f19c71b9d5a3e01249f0bebd5894
diff --git a/sbin/md5/tests/7.inp b/sbin/md5/tests/7.inp
new file mode 100644
index 000000000000..15e0acf537d8
--- /dev/null
+++ b/sbin/md5/tests/7.inp
@@ -0,0 +1 @@
+12345678901234567890123456789012345678901234567890123456789012345678901234567890
\ No newline at end of file
diff --git a/sbin/md5/tests/7.sha512-p.chk b/sbin/md5/tests/7.sha512-p.chk
new file mode 100644
index 000000000000..efd5828f95ff
--- /dev/null
+++ b/sbin/md5/tests/7.sha512-p.chk
@@ -0,0 +1 @@
+1234567890123456789012345678901234567890123456789012345678901234567890123456789072ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843
diff --git a/sbin/md5/tests/7.sha512sum-p.chk b/sbin/md5/tests/7.sha512sum-p.chk
new file mode 100644
index 000000000000..efd5828f95ff
--- /dev/null
+++ b/sbin/md5/tests/7.sha512sum-p.chk
@@ -0,0 +1 @@
+1234567890123456789012345678901234567890123456789012345678901234567890123456789072ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843
diff --git a/sbin/md5/tests/8.inp b/sbin/md5/tests/8.inp
new file mode 100644
index 000000000000..689a689eceea
--- /dev/null
+++ b/sbin/md5/tests/8.inp
@@ -0,0 +1 @@
+MD5 has not yet (2001-09-03) been broken, but sufficient attacks have been made that its security is in some doubt
\ No newline at end of file
diff --git a/sbin/md5/tests/8.sha512-p.chk b/sbin/md5/tests/8.sha512-p.chk
new file mode 100644
index 000000000000..d53bfc56d752
--- /dev/null
+++ b/sbin/md5/tests/8.sha512-p.chk
@@ -0,0 +1 @@
+MD5 has not yet (2001-09-03) been broken, but sufficient attacks have been made that its security is in some doubte8a835195e039708b13d9131e025f4441dbdc521ce625f245a436dcd762f54bf5cb298d96235e6c6a304e087ec8189b9512cbdf6427737ea82793460c367b9c3
diff --git a/sbin/md5/tests/8.sha512sum-p.chk b/sbin/md5/tests/8.sha512sum-p.chk
new file mode 100644
index 000000000000..d53bfc56d752
--- /dev/null
+++ b/sbin/md5/tests/8.sha512sum-p.chk
@@ -0,0 +1 @@
+MD5 has not yet (2001-09-03) been broken, but sufficient attacks have been made that its security is in some doubte8a835195e039708b13d9131e025f4441dbdc521ce625f245a436dcd762f54bf5cb298d96235e6c6a304e087ec8189b9512cbdf6427737ea82793460c367b9c3
diff --git a/sbin/md5/tests/Makefile b/sbin/md5/tests/Makefile
new file mode 100644
index 000000000000..b37332aa9894
--- /dev/null
+++ b/sbin/md5/tests/Makefile
@@ -0,0 +1,41 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+PACKAGE=		tests
+
+TEST_DIR=		${SRCTOP}/sbin/md5/tests
+
+.PATH:			${TEST_DIR}
+
+FILESGROUPS+=		FILESinputs
+FILESinputsPACKAGE=	${PACKAGE}
+FILESinputsDIR=		${TESTSDIR}
+FILESinputs!=		echo ${TEST_DIR}/*.inp
+
+FILESGROUPS+=		FILESchkfiles
+FILESchkfilesPACKAGE=	${PACKAGE}
+FILESchkfilesDIR=	${TESTSDIR}
+FILESchkfiles!=		echo ${TEST_DIR}/*.chk
+
+FILESGROUPS+=		FILESdigests
+FILESdigestsPACKAGE=	${PACKAGE}
+FILESdigestsDIR=	${TESTSDIR}
+FILESdigests!=		echo ${TEST_DIR}/*.digest
+
+FILESGROUPS+=		FILESparam
+FILESparamPACKAGE=	${PACKAGE}
+FILESparamDIR=		${TESTSDIR}
+FILESparam!=		echo ${TEST_DIR}/*.txt
+
+PLAIN_TESTS_SH+=	self-test
+PLAIN_TESTS_SH+=	bsd-c-test
+PLAIN_TESTS_SH+=	bsd-p-test
+PLAIN_TESTS_SH+=	bsd-s-test
+
+.SUFFIXES:		.SH
+
+.SH.sh:
+	sed 's|%%TESTSBASE%%|${TESTSBASE}|g' ${.ALLSRC} > ${.TARGET}
+
+.include <bsd.test.mk>
diff --git a/sbin/md5/tests/algorithms.txt b/sbin/md5/tests/algorithms.txt
new file mode 100644
index 000000000000..88f0ff5b783a
--- /dev/null
+++ b/sbin/md5/tests/algorithms.txt
@@ -0,0 +1,11 @@
+md5
+rmd160
+sha1
+sha224
+sha256
+sha384
+sha512
+sha512t256
+skein1024
+skein256
+skein512
diff --git a/sbin/md5/tests/bsd-c-test.SH b/sbin/md5/tests/bsd-c-test.SH
new file mode 100644
index 000000000000..0327b95f0c0e
--- /dev/null
+++ b/sbin/md5/tests/bsd-c-test.SH
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+exitcode=0
+
+testloop () {
+	opt=$1
+
+	while read algorithm; do
+		n=0
+		for f in %%TESTSBASE%%/sbin/md5/*.inp; do
+			n=$((n + 1))
+			expected=$(head -$n %%TESTSBASE%%/sbin/md5/$algorithm.digest | tail -1 | cut -w -f4)
+			hash=$($algorithm $opt -c "$expected" $f) || exitcode=1
+		done
+	done < %%TESTSBASE%%/sbin/md5/algorithms.txt
+}
+
+testloop ""
+testloop -q
+testloop -r
+testloop -qr
+
+exit $exitcode
diff --git a/sbin/md5/tests/bsd-p-test.SH b/sbin/md5/tests/bsd-p-test.SH
new file mode 100644
index 000000000000..77a725377e2c
--- /dev/null
+++ b/sbin/md5/tests/bsd-p-test.SH
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+exitcode=0
+
+testloop () {
+	opt=$1
+	sum=$2
+
+	for algorithm in sha512; do
+		for f in %%TESTSBASE%%/sbin/md5/*.inp; do
+			outbase=$(basename $f .inp)
+			$algorithm$sum $opt -p < $f > $outbase.out
+			diff %%TESTSBASE%%/sbin/md5/$outbase.$algorithm$sum-p.chk $outbase.out || exitcode=1
+		done
+	done
+}
+
+testloop "" ""
+testloop -q ""
+testloop -qr ""
+testloop "" sum
+testloop -q sum
+
+exit $exitcode
diff --git a/sbin/md5/tests/bsd-s-test.SH b/sbin/md5/tests/bsd-s-test.SH
new file mode 100644
index 000000000000..83267711137f
--- /dev/null
+++ b/sbin/md5/tests/bsd-s-test.SH
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+exitcode=0
+
+testloop () {
+	opt=$1
+	sum=$2
+	field=$3
+
+	while read algorithm; do
+		n=0
+		for f in %%TESTSBASE%%/sbin/md5/*.inp; do
+			n=$((n + 1))
+			read text < $f
+			hash=$($algorithm$sum $opt -s "$text" | cut -d= -f$field)
+			hash=$(echo $hash | cut -w -f1)
+			expected=$(head -$n %%TESTSBASE%%/sbin/md5/$algorithm.digest | tail -1 | cut -w -f4)
+			[ "$hash" = "$expected" ] || exitcode=1
+		done
+	done < %%TESTSBASE%%/sbin/md5/algorithms.txt
+}
+
+testloop "" "" 2
+testloop -q "" 1
+testloop -r "" 1
+testloop -qr "" 1
+testloop "" sum 1
+testloop -q sum 1
+
+exit $exitcode
diff --git a/sbin/md5/tests/md5.digest b/sbin/md5/tests/md5.digest
new file mode 100644
index 000000000000..38b8dcb6e705
--- /dev/null
+++ b/sbin/md5/tests/md5.digest
@@ -0,0 +1,8 @@
+MD5 (1.inp) = d41d8cd98f00b204e9800998ecf8427e
+MD5 (2.inp) = 0cc175b9c0f1b6a831c399e269772661
+MD5 (3.inp) = 900150983cd24fb0d6963f7d28e17f72
+MD5 (4.inp) = f96b697d7cb7938d525a2f31aaf161d0
+MD5 (5.inp) = c3fcd3d76192e4007dfb496cca67e13b
+MD5 (6.inp) = d174ab98d277d9f5a5611c2c9f419d9f
+MD5 (7.inp) = 57edf4a22be3c955ac49da2e2107b67a
+MD5 (8.inp) = b50663f41d44d92171cb9976bc118538
diff --git a/sbin/md5/tests/md5sum.digest b/sbin/md5/tests/md5sum.digest
new file mode 100644
index 000000000000..c560afa0d7f0
--- /dev/null
+++ b/sbin/md5/tests/md5sum.digest
@@ -0,0 +1,8 @@
+d41d8cd98f00b204e9800998ecf8427e 1.inp
+0cc175b9c0f1b6a831c399e269772661 2.inp
+900150983cd24fb0d6963f7d28e17f72 3.inp
+f96b697d7cb7938d525a2f31aaf161d0 4.inp
+c3fcd3d76192e4007dfb496cca67e13b 5.inp
+d174ab98d277d9f5a5611c2c9f419d9f 6.inp
+57edf4a22be3c955ac49da2e2107b67a 7.inp
+b50663f41d44d92171cb9976bc118538 8.inp
diff --git a/sbin/md5/tests/rmd160.digest b/sbin/md5/tests/rmd160.digest
new file mode 100644
index 000000000000..b2ffd3c0ce45
--- /dev/null
+++ b/sbin/md5/tests/rmd160.digest
@@ -0,0 +1,8 @@
+RMD160 (1.inp) = 9c1185a5c5e9fc54612808977ee8f548b2258d31
+RMD160 (2.inp) = 0bdc9d2d256b3ee9daae347be6f4dc835a467ffe
+RMD160 (3.inp) = 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc
+RMD160 (4.inp) = 5d0689ef49d2fae572b881b123a85ffa21595f36
+RMD160 (5.inp) = f71c27109c692c1b56bbdceb5b9d2865b3708dbc
+RMD160 (6.inp) = b0e20b6e3116640286ed3a87a5713079b21f5189
+RMD160 (7.inp) = 9b752e45573d4b39f4dbd3323cab82bf63326bfb
+RMD160 (8.inp) = 5feb69c6bf7c29d95715ad55f57d8ac5b2b7dd32
diff --git a/sbin/md5/tests/rmd160sum.digest b/sbin/md5/tests/rmd160sum.digest
new file mode 100644
index 000000000000..4864ff39e050
--- /dev/null
+++ b/sbin/md5/tests/rmd160sum.digest
@@ -0,0 +1,8 @@
+9c1185a5c5e9fc54612808977ee8f548b2258d31 1.inp
+0bdc9d2d256b3ee9daae347be6f4dc835a467ffe 2.inp
+8eb208f7e05d987a9b044a8e98c6b087f15a0bfc 3.inp
+5d0689ef49d2fae572b881b123a85ffa21595f36 4.inp
+f71c27109c692c1b56bbdceb5b9d2865b3708dbc 5.inp
+b0e20b6e3116640286ed3a87a5713079b21f5189 6.inp
+9b752e45573d4b39f4dbd3323cab82bf63326bfb 7.inp
+5feb69c6bf7c29d95715ad55f57d8ac5b2b7dd32 8.inp
diff --git a/sbin/md5/tests/self-test.SH b/sbin/md5/tests/self-test.SH
new file mode 100644
index 000000000000..33bd5569c23c
--- /dev/null
+++ b/sbin/md5/tests/self-test.SH
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+while read algorithm; do
+	$algorithm -x > self-test.$algorithm.out || exitcode=$?
+	diff %%TESTSBASE%%/sbin/md5/self-test.$algorithm.chk self-test.$algorithm.out
+done < %%TESTSBASE%%/sbin/md5/algorithms.txt
+
+exit $exitcode
diff --git a/sbin/md5/tests/self-test.md5.chk b/sbin/md5/tests/self-test.md5.chk
new file mode 100644
index 000000000000..d4eb05560b53
--- /dev/null
+++ b/sbin/md5/tests/self-test.md5.chk
@@ -0,0 +1,9 @@
+MD5 test suite:
+MD5 ("") = d41d8cd98f00b204e9800998ecf8427e - verified correct
+MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661 - verified correct
+MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72 - verified correct
+MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0 - verified correct
+MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b - verified correct
+MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = d174ab98d277d9f5a5611c2c9f419d9f - verified correct
+MD5 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 57edf4a22be3c955ac49da2e2107b67a - verified correct
+MD5 ("MD5 has not yet (2001-09-03) been broken, but sufficient attacks have been made that its security is in some doubt") = b50663f41d44d92171cb9976bc118538 - verified correct
diff --git a/sbin/md5/tests/self-test.rmd160.chk b/sbin/md5/tests/self-test.rmd160.chk
new file mode 100644
index 000000000000..a0680ac7f647
--- /dev/null
+++ b/sbin/md5/tests/self-test.rmd160.chk
@@ -0,0 +1,9 @@
+RMD160 test suite:
+RMD160 ("") = 9c1185a5c5e9fc54612808977ee8f548b2258d31 - verified correct
+RMD160 ("a") = 0bdc9d2d256b3ee9daae347be6f4dc835a467ffe - verified correct
+RMD160 ("abc") = 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc - verified correct
+RMD160 ("message digest") = 5d0689ef49d2fae572b881b123a85ffa21595f36 - verified correct
+RMD160 ("abcdefghijklmnopqrstuvwxyz") = f71c27109c692c1b56bbdceb5b9d2865b3708dbc - verified correct
+RMD160 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = b0e20b6e3116640286ed3a87a5713079b21f5189 - verified correct
+RMD160 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 9b752e45573d4b39f4dbd3323cab82bf63326bfb - verified correct
+RMD160 ("MD5 has not yet (2001-09-03) been broken, but sufficient attacks have been made that its security is in some doubt") = 5feb69c6bf7c29d95715ad55f57d8ac5b2b7dd32 - verified correct
diff --git a/sbin/md5/tests/self-test.sh_inp b/sbin/md5/tests/self-test.sh_inp
new file mode 100644
index 000000000000..33bd5569c23c
--- /dev/null
+++ b/sbin/md5/tests/self-test.sh_inp
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+while read algorithm; do
+	$algorithm -x > self-test.$algorithm.out || exitcode=$?
+	diff %%TESTSBASE%%/sbin/md5/self-test.$algorithm.chk self-test.$algorithm.out
+done < %%TESTSBASE%%/sbin/md5/algorithms.txt
+
+exit $exitcode
diff --git a/sbin/md5/tests/self-test.sha1.chk b/sbin/md5/tests/self-test.sha1.chk
new file mode 100644
index 000000000000..e463947feb36
--- /dev/null
+++ b/sbin/md5/tests/self-test.sha1.chk
@@ -0,0 +1,9 @@
+SHA1 test suite:
+SHA1 ("") = da39a3ee5e6b4b0d3255bfef95601890afd80709 - verified correct
+SHA1 ("a") = 86f7e437faa5a7fce15d1ddcb9eaeaea377667b8 - verified correct
+SHA1 ("abc") = a9993e364706816aba3e25717850c26c9cd0d89d - verified correct
+SHA1 ("message digest") = c12252ceda8be8994d5fa0290a47231c1d16aae3 - verified correct
+SHA1 ("abcdefghijklmnopqrstuvwxyz") = 32d10c7b8cf96570ca04ce37f2a19d84240d3a89 - verified correct
+SHA1 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = 761c457bf73b14d27e9e9265c46f4b4dda11f940 - verified correct
+SHA1 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 50abf5706a150990a08b2c5ea40fa0e585554732 - verified correct
+SHA1 ("MD5 has not yet (2001-09-03) been broken, but sufficient attacks have been made that its security is in some doubt") = 18eca4333979c4181199b7b4fab8786d16cf2846 - verified correct
diff --git a/sbin/md5/tests/self-test.sha224.chk b/sbin/md5/tests/self-test.sha224.chk
new file mode 100644
index 000000000000..e74cccafa6d7
--- /dev/null
+++ b/sbin/md5/tests/self-test.sha224.chk
@@ -0,0 +1,9 @@
+SHA224 test suite:
+SHA224 ("") = d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f - verified correct
+SHA224 ("a") = abd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5 - verified correct
+SHA224 ("abc") = 23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7 - verified correct
+SHA224 ("message digest") = 2cb21c83ae2f004de7e81c3c7019cbcb65b71ab656b22d6d0c39b8eb - verified correct
+SHA224 ("abcdefghijklmnopqrstuvwxyz") = 45a5f72c39c5cff2522eb3429799e49e5f44b356ef926bcf390dccc2 - verified correct
+SHA224 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = bff72b4fcb7d75e5632900ac5f90d219e05e97a7bde72e740db393d9 - verified correct
+SHA224 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = b50aecbe4e9bb0b57bc5f3ae760a8e01db24f203fb3cdcd13148046e - verified correct
+SHA224 ("MD5 has not yet (2001-09-03) been broken, but sufficient attacks have been made that its security is in some doubt") = 5ae55f3779c8a1204210d7ed7689f661fbe140f96f272ab79e19d470 - verified correct
diff --git a/sbin/md5/tests/self-test.sha256.chk b/sbin/md5/tests/self-test.sha256.chk
new file mode 100644
index 000000000000..ba640b6a9217
--- /dev/null
+++ b/sbin/md5/tests/self-test.sha256.chk
@@ -0,0 +1,9 @@
+SHA256 test suite:
+SHA256 ("") = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - verified correct
+SHA256 ("a") = ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb - verified correct
+SHA256 ("abc") = ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad - verified correct
+SHA256 ("message digest") = f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650 - verified correct
+SHA256 ("abcdefghijklmnopqrstuvwxyz") = 71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73 - verified correct
+SHA256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0 - verified correct
+SHA256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e - verified correct
+SHA256 ("MD5 has not yet (2001-09-03) been broken, but sufficient attacks have been made that its security is in some doubt") = e6eae09f10ad4122a0e2a4075761d185a272ebd9f5aa489e998ff2f09cbfdd9f - verified correct
diff --git a/sbin/md5/tests/self-test.sha384.chk b/sbin/md5/tests/self-test.sha384.chk
new file mode 100644
index 000000000000..a493cadc1964
--- /dev/null
+++ b/sbin/md5/tests/self-test.sha384.chk
@@ -0,0 +1,9 @@
+SHA384 test suite:
+SHA384 ("") = 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b - verified correct
+SHA384 ("a") = 54a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31 - verified correct
+SHA384 ("abc") = cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7 - verified correct
+SHA384 ("message digest") = 473ed35167ec1f5d8e550368a3db39be54639f828868e9454c239fc8b52e3c61dbd0d8b4de1390c256dcbb5d5fd99cd5 - verified correct
+SHA384 ("abcdefghijklmnopqrstuvwxyz") = feb67349df3db6f5924815d6c3dc133f091809213731fe5c7b5f4999e463479ff2877f5f2936fa63bb43784b12f3ebb4 - verified correct
+SHA384 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = 1761336e3f7cbfe51deb137f026f89e01a448e3b1fafa64039c1464ee8732f11a5341a6f41e0c202294736ed64db1a84 - verified correct
+SHA384 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = b12932b0627d1c060942f5447764155655bd4da0c9afa6dd9b9ef53129af1b8fb0195996d2de9ca0df9d821ffee67026 - verified correct
+SHA384 ("MD5 has not yet (2001-09-03) been broken, but sufficient attacks have been made that its security is in some doubt") = 99428d401bf4abcd4ee0695248c9858b7503853acfae21a9cffa7855f46d1395ef38596fcd06d5a8c32d41a839cc5dfb - verified correct
diff --git a/sbin/md5/tests/self-test.sha512.chk b/sbin/md5/tests/self-test.sha512.chk
new file mode 100644
index 000000000000..f36e455cdaa5
--- /dev/null
+++ b/sbin/md5/tests/self-test.sha512.chk
@@ -0,0 +1,9 @@
+SHA512 test suite:
+SHA512 ("") = cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e - verified correct
+SHA512 ("a") = 1f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75 - verified correct
+SHA512 ("abc") = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f - verified correct
+SHA512 ("message digest") = 107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c - verified correct
+SHA512 ("abcdefghijklmnopqrstuvwxyz") = 4dbff86cc2ca1bae1e16468a05cb9881c97f1753bce3619034898faa1aabe429955a1bf8ec483d7421fe3c1646613a59ed5441fb0f321389f77f48a879c7b1f1 - verified correct
+SHA512 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = 1e07be23c26a86ea37ea810c8ec7809352515a970e9253c26f536cfc7a9996c45c8370583e0a78fa4a90041d71a4ceab7423f19c71b9d5a3e01249f0bebd5894 - verified correct
+SHA512 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 72ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843 - verified correct
+SHA512 ("MD5 has not yet (2001-09-03) been broken, but sufficient attacks have been made that its security is in some doubt") = e8a835195e039708b13d9131e025f4441dbdc521ce625f245a436dcd762f54bf5cb298d96235e6c6a304e087ec8189b9512cbdf6427737ea82793460c367b9c3 - verified correct
diff --git a/sbin/md5/tests/self-test.sha512t256.chk b/sbin/md5/tests/self-test.sha512t256.chk
new file mode 100644
index 000000000000..25612ace484a
--- /dev/null
+++ b/sbin/md5/tests/self-test.sha512t256.chk
@@ -0,0 +1,9 @@
+SHA512t256 test suite:
+SHA512t256 ("") = c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a - verified correct
+SHA512t256 ("a") = 455e518824bc0601f9fb858ff5c37d417d67c2f8e0df2babe4808858aea830f8 - verified correct
+SHA512t256 ("abc") = 53048e2681941ef99b2e29b76b4c7dabe4c2d0c634fc6d46e0e2f13107e7af23 - verified correct
+SHA512t256 ("message digest") = 0cf471fd17ed69d990daf3433c89b16d63dec1bb9cb42a6094604ee5d7b4e9fb - verified correct
+SHA512t256 ("abcdefghijklmnopqrstuvwxyz") = fc3189443f9c268f626aea08a756abe7b726b05f701cb08222312ccfd6710a26 - verified correct
+SHA512t256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = cdf1cc0effe26ecc0c13758f7b4a48e000615df241284185c39eb05d355bb9c8 - verified correct
+SHA512t256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 2c9fdbc0c90bdd87612ee8455474f9044850241dc105b1e8b94b8ddf5fac9148 - verified correct
+SHA512t256 ("MD5 has not yet (2001-09-03) been broken, but sufficient attacks have been made that its security is in some doubt") = dd095fc859b336c30a52548b3dc59fcc0d1be8616ebcf3368fad23107db2d736 - verified correct
diff --git a/sbin/md5/tests/self-test.skein1024.chk b/sbin/md5/tests/self-test.skein1024.chk
new file mode 100644
index 000000000000..8cfc5997afde
--- /dev/null
+++ b/sbin/md5/tests/self-test.skein1024.chk
@@ -0,0 +1,9 @@
+Skein1024 test suite:
+Skein1024 ("") = 0fff9563bb3279289227ac77d319b6fff8d7e9f09da1247b72a0a265cd6d2a62645ad547ed8193db48cff847c06494a03f55666d3b47eb4c20456c9373c86297d630d5578ebd34cb40991578f9f52b18003efa35d3da6553ff35db91b81ab890bec1b189b7f52cb2a783ebb7d823d725b0b4a71f6824e88f68f982eefc6d19c6 - verified correct
+Skein1024 ("a") = 6ab4c4ba9814a3d976ec8bffa7fcc638ceba0544a97b3c98411323ffd2dc936315d13dc93c13c4e88cda6f5bac6f2558b2d8694d3b6143e40d644ae43ca940685cb37f809d3d0550c56cba8036dee729a4f8fb960732e59e64d57f7f7710f8670963cdcdc95b41daab4855fcf8b6762a64b173ee61343a2c7689af1d293eba97 - verified correct
+Skein1024 ("abc") = 35a599a0f91abcdb4cb73c19b8cb8d947742d82c309137a7caed29e8e0a2ca7a9ff9a90c34c1908cc7e7fd99bb15032fb86e76df21b72628399b5f7c3cc209d7bb31c99cd4e19465622a049afbb87c03b5ce3888d17e6e667279ec0aa9b3e2712624c01b5f5bbe1a564220bdcf6990af0c2539019f313fdd7406cca3892a1f1f - verified correct
+Skein1024 ("message digest") = ea891f5268acd0fac97467fc1aa89d1ce8681a9992a42540e53babee861483110c2d16f49e73bac27653ff173003e40cfb08516cd34262e6af95a5d8645c9c1abb3e813604d508b8511b30f9a5c1b352aa0791c7d2f27b2706dccea54bc7de6555b5202351751c3299f97c09cf89c40f67187e2521c0fad82b30edbb224f0458 - verified correct
+Skein1024 ("abcdefghijklmnopqrstuvwxyz") = f23d95c2a25fbcd0e797cd058fec39d3c52d2b5afd7a9af1df934e63257d1d3dcf3246e7329c0f1104c1e51e3d22e300507b0c3b9f985bb1f645ef49835080536becf83788e17fed09c9982ba65c3cb7ffe6a5f745b911c506962adf226e435c42f6f6bc08d288f9c810e807e3216ef444f3db22744441deefa4900982a1371f - verified correct
+Skein1024 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = cf3889e8a8d11bfd3938055d7d061437962bc5eac8ae83b1b71c94be201b8cf657fdbfc38674997a008c0c903f56a23feb3ae30e012377f1cfa080a9ca7fe8b96138662653fb3335c7d06595bf8baf65e215307532094cfdfa056bd8052ab792a3944a2adaa47b30335b8badb8fe9eb94fe329cdca04e58bbc530f0af709f469 - verified correct
+Skein1024 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = cf21a613620e6c119eca31fdfaad449a8e02f95ca256c21d2a105f8e4157048f9fe1e897893ea18b64e0e37cb07d5ac947f27ba544caf7cbc1ad094e675aed77a366270f7eb7f46543bccfa61c526fd628408058ed00ed566ac35a9761d002e629c4fb0d430b2f4ad016fcc49c44d2981c4002da0eecc42144160e2eaea4855a - verified correct
+Skein1024 ("MD5 has not yet (2001-09-03) been broken, but sufficient attacks have been made that its security is in some doubt") = e6799b78db54085a2be7ff4c8007f147fa88d326abab30be0560b953396d8802feee9a15419b48a467574e9283be15685ca8a079ee52b27166b64dd70b124b1d4e4f6aca37224c3f2685e67e67baef9f94b905698adc794a09672aba977a61b20966912acdb08c21a2c37001785355dc884751a21f848ab36e590331ff938138 - verified correct
diff --git a/sbin/md5/tests/self-test.skein256.chk b/sbin/md5/tests/self-test.skein256.chk
new file mode 100644
index 000000000000..41d1fdcb8cc8
--- /dev/null
+++ b/sbin/md5/tests/self-test.skein256.chk
@@ -0,0 +1,9 @@
+Skein256 test suite:
+Skein256 ("") = c8877087da56e072870daa843f176e9453115929094c3a40c463a196c29bf7ba - verified correct
+Skein256 ("a") = 7fba44ff1a31d71a0c1f82e6e82fb5e9ac6c92a39c9185b9951fed82d82fe635 - verified correct
+Skein256 ("abc") = 258bdec343b9fde1639221a5ae0144a96e552e5288753c5fec76c05fc2fc1870 - verified correct
+Skein256 ("message digest") = 4d2ce0062b5eb3a4db95bc1117dd8aa014f6cd50fdc8e64f31f7d41f9231e488 - verified correct
+Skein256 ("abcdefghijklmnopqrstuvwxyz") = 46d8440685461b00e3ddb891b2ecc6855287d2bd8834a95fb1c1708b00ea5e82 - verified correct
+Skein256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = 7c5eb606389556b33d34eb2536459528dc0af97adbcd0ce273aeb650f598d4b2 - verified correct
+Skein256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 4def7a7e5464a140ae9c3a80279fbebce4bd00f9faad819ab7e001512f67a10d - verified correct
+Skein256 ("MD5 has not yet (2001-09-03) been broken, but sufficient attacks have been made that its security is in some doubt") = d9c017dbe355f318d036469eb9b5fbe129fc2b5786a9dc6746a516eab6fe0126 - verified correct
diff --git a/sbin/md5/tests/self-test.skein512.chk b/sbin/md5/tests/self-test.skein512.chk
new file mode 100644
index 000000000000..437220e17adb
--- /dev/null
+++ b/sbin/md5/tests/self-test.skein512.chk
@@ -0,0 +1,9 @@
+Skein512 test suite:
+Skein512 ("") = bc5b4c50925519c290cc634277ae3d6257212395cba733bbad37a4af0fa06af41fca7903d06564fea7a2d3730dbdb80c1f85562dfcc070334ea4d1d9e72cba7a - verified correct
+Skein512 ("a") = b1cd8d33f61b3737adfd59bb13ad82f4a9548e92f22956a8976cca3fdb7fee4fe91698146c4197cec85d38b83c5d93bdba92c01fd9a53870d0c7f967bc62bdce - verified correct
+Skein512 ("abc") = 8f5dd9ec798152668e35129496b029a960c9a9b88662f7f9482f110b31f9f93893ecfb25c009baad9e46737197d5630379816a886aa05526d3a70df272d96e75 - verified correct
+Skein512 ("message digest") = 15b73c158ffb875fed4d72801ded0794c720b121c0c78edf45f900937e6933d9e21a3a984206933d504b5dbb2368000411477ee1b204c986068df77886542fcc - verified correct
+Skein512 ("abcdefghijklmnopqrstuvwxyz") = 23793ad900ef12f9165c8080da6fdfd2c8354a2929b8aadf83aa82a3c6470342f57cf8c035ec0d97429b626c4d94f28632c8f5134fd367dca5cf293d2ec13f8c - verified correct
+Skein512 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = 0c6bed927e022f5ddcf81877d42e5f75798a9f8fd3ede3d83baac0a2f364b082e036c11af35fe478745459dd8f5c0b73efe3c56ba5bb2009208d5a29cc6e469c - verified correct
+Skein512 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 2ca9fcffb3456f297d1b5f407014ecb856f0baac8eb540f534b1f187196f21e88f31103128c2f03fcc9857d7a58eb66f9525e2302d88833ee069295537a434ce - verified correct
+Skein512 ("MD5 has not yet (2001-09-03) been broken, but sufficient attacks have been made that its security is in some doubt") = 1131f2aaa0e97126c9314f9f968cc827259bbfabced2943bb8c9274448998fb3b78738b4580dd500c76105fd3c03e465e1414f2c29664286b1f79d3e51128125 - verified correct
diff --git a/sbin/md5/tests/sha1.digest b/sbin/md5/tests/sha1.digest
new file mode 100644
index 000000000000..10ce642c0883
--- /dev/null
+++ b/sbin/md5/tests/sha1.digest
@@ -0,0 +1,8 @@
+SHA1 (1.inp) = da39a3ee5e6b4b0d3255bfef95601890afd80709
+SHA1 (2.inp) = 86f7e437faa5a7fce15d1ddcb9eaeaea377667b8
+SHA1 (3.inp) = a9993e364706816aba3e25717850c26c9cd0d89d
+SHA1 (4.inp) = c12252ceda8be8994d5fa0290a47231c1d16aae3
+SHA1 (5.inp) = 32d10c7b8cf96570ca04ce37f2a19d84240d3a89
+SHA1 (6.inp) = 761c457bf73b14d27e9e9265c46f4b4dda11f940
+SHA1 (7.inp) = 50abf5706a150990a08b2c5ea40fa0e585554732
+SHA1 (8.inp) = 18eca4333979c4181199b7b4fab8786d16cf2846
diff --git a/sbin/md5/tests/sha1sum.digest b/sbin/md5/tests/sha1sum.digest
new file mode 100644
index 000000000000..d82d2889ff5d
--- /dev/null
+++ b/sbin/md5/tests/sha1sum.digest
@@ -0,0 +1,8 @@
+da39a3ee5e6b4b0d3255bfef95601890afd80709 1.inp
+86f7e437faa5a7fce15d1ddcb9eaeaea377667b8 2.inp
+a9993e364706816aba3e25717850c26c9cd0d89d 3.inp
+c12252ceda8be8994d5fa0290a47231c1d16aae3 4.inp
+32d10c7b8cf96570ca04ce37f2a19d84240d3a89 5.inp
+761c457bf73b14d27e9e9265c46f4b4dda11f940 6.inp
+50abf5706a150990a08b2c5ea40fa0e585554732 7.inp
+18eca4333979c4181199b7b4fab8786d16cf2846 8.inp
diff --git a/sbin/md5/tests/sha224.digest b/sbin/md5/tests/sha224.digest
new file mode 100644
index 000000000000..a1007511a978
--- /dev/null
+++ b/sbin/md5/tests/sha224.digest
@@ -0,0 +1,8 @@
+SHA224 (1.inp) = d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f
+SHA224 (2.inp) = abd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5
+SHA224 (3.inp) = 23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7
+SHA224 (4.inp) = 2cb21c83ae2f004de7e81c3c7019cbcb65b71ab656b22d6d0c39b8eb
+SHA224 (5.inp) = 45a5f72c39c5cff2522eb3429799e49e5f44b356ef926bcf390dccc2
+SHA224 (6.inp) = bff72b4fcb7d75e5632900ac5f90d219e05e97a7bde72e740db393d9
+SHA224 (7.inp) = b50aecbe4e9bb0b57bc5f3ae760a8e01db24f203fb3cdcd13148046e
+SHA224 (8.inp) = 5ae55f3779c8a1204210d7ed7689f661fbe140f96f272ab79e19d470
diff --git a/sbin/md5/tests/sha224sum.digest b/sbin/md5/tests/sha224sum.digest
new file mode 100644
index 000000000000..37fd833032fb
--- /dev/null
+++ b/sbin/md5/tests/sha224sum.digest
@@ -0,0 +1,8 @@
+d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f 1.inp
+abd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5 2.inp
+23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7 3.inp
+2cb21c83ae2f004de7e81c3c7019cbcb65b71ab656b22d6d0c39b8eb 4.inp
+45a5f72c39c5cff2522eb3429799e49e5f44b356ef926bcf390dccc2 5.inp
+bff72b4fcb7d75e5632900ac5f90d219e05e97a7bde72e740db393d9 6.inp
+b50aecbe4e9bb0b57bc5f3ae760a8e01db24f203fb3cdcd13148046e 7.inp
+5ae55f3779c8a1204210d7ed7689f661fbe140f96f272ab79e19d470 8.inp
diff --git a/sbin/md5/tests/sha256.digest b/sbin/md5/tests/sha256.digest
new file mode 100644
index 000000000000..b6c4411261a8
--- /dev/null
+++ b/sbin/md5/tests/sha256.digest
@@ -0,0 +1,8 @@
+SHA256 (1.inp) = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+SHA256 (2.inp) = ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb
+SHA256 (3.inp) = ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
+SHA256 (4.inp) = f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650
+SHA256 (5.inp) = 71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73
+SHA256 (6.inp) = db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0
+SHA256 (7.inp) = f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e
+SHA256 (8.inp) = e6eae09f10ad4122a0e2a4075761d185a272ebd9f5aa489e998ff2f09cbfdd9f
diff --git a/sbin/md5/tests/sha256sum.digest b/sbin/md5/tests/sha256sum.digest
new file mode 100644
index 000000000000..35ce99a0c6c1
--- /dev/null
+++ b/sbin/md5/tests/sha256sum.digest
@@ -0,0 +1,8 @@
+e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 1.inp
+ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb 2.inp
+ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad 3.inp
+f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650 4.inp
+71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73 5.inp
+db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0 6.inp
+f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e 7.inp
+e6eae09f10ad4122a0e2a4075761d185a272ebd9f5aa489e998ff2f09cbfdd9f 8.inp
diff --git a/sbin/md5/tests/sha384.digest b/sbin/md5/tests/sha384.digest
new file mode 100644
index 000000000000..b56ef8b708e4
--- /dev/null
+++ b/sbin/md5/tests/sha384.digest
@@ -0,0 +1,8 @@
+SHA384 (1.inp) = 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b
+SHA384 (2.inp) = 54a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31
+SHA384 (3.inp) = cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7
+SHA384 (4.inp) = 473ed35167ec1f5d8e550368a3db39be54639f828868e9454c239fc8b52e3c61dbd0d8b4de1390c256dcbb5d5fd99cd5
+SHA384 (5.inp) = feb67349df3db6f5924815d6c3dc133f091809213731fe5c7b5f4999e463479ff2877f5f2936fa63bb43784b12f3ebb4
+SHA384 (6.inp) = 1761336e3f7cbfe51deb137f026f89e01a448e3b1fafa64039c1464ee8732f11a5341a6f41e0c202294736ed64db1a84
+SHA384 (7.inp) = b12932b0627d1c060942f5447764155655bd4da0c9afa6dd9b9ef53129af1b8fb0195996d2de9ca0df9d821ffee67026
+SHA384 (8.inp) = 99428d401bf4abcd4ee0695248c9858b7503853acfae21a9cffa7855f46d1395ef38596fcd06d5a8c32d41a839cc5dfb
diff --git a/sbin/md5/tests/sha384sum.digest b/sbin/md5/tests/sha384sum.digest
new file mode 100644
index 000000000000..7d669e0dda08
--- /dev/null
+++ b/sbin/md5/tests/sha384sum.digest
@@ -0,0 +1,8 @@
+38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b 1.inp
+54a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31 2.inp
+cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7 3.inp
+473ed35167ec1f5d8e550368a3db39be54639f828868e9454c239fc8b52e3c61dbd0d8b4de1390c256dcbb5d5fd99cd5 4.inp
+feb67349df3db6f5924815d6c3dc133f091809213731fe5c7b5f4999e463479ff2877f5f2936fa63bb43784b12f3ebb4 5.inp
+1761336e3f7cbfe51deb137f026f89e01a448e3b1fafa64039c1464ee8732f11a5341a6f41e0c202294736ed64db1a84 6.inp
+b12932b0627d1c060942f5447764155655bd4da0c9afa6dd9b9ef53129af1b8fb0195996d2de9ca0df9d821ffee67026 7.inp
+99428d401bf4abcd4ee0695248c9858b7503853acfae21a9cffa7855f46d1395ef38596fcd06d5a8c32d41a839cc5dfb 8.inp
diff --git a/sbin/md5/tests/sha512.digest b/sbin/md5/tests/sha512.digest
new file mode 100644
index 000000000000..dd82845b8131
--- /dev/null
+++ b/sbin/md5/tests/sha512.digest
@@ -0,0 +1,8 @@
+SHA512 (1.inp) = cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
+SHA512 (2.inp) = 1f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75
+SHA512 (3.inp) = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f
+SHA512 (4.inp) = 107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c
+SHA512 (5.inp) = 4dbff86cc2ca1bae1e16468a05cb9881c97f1753bce3619034898faa1aabe429955a1bf8ec483d7421fe3c1646613a59ed5441fb0f321389f77f48a879c7b1f1
+SHA512 (6.inp) = 1e07be23c26a86ea37ea810c8ec7809352515a970e9253c26f536cfc7a9996c45c8370583e0a78fa4a90041d71a4ceab7423f19c71b9d5a3e01249f0bebd5894
+SHA512 (7.inp) = 72ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843
+SHA512 (8.inp) = e8a835195e039708b13d9131e025f4441dbdc521ce625f245a436dcd762f54bf5cb298d96235e6c6a304e087ec8189b9512cbdf6427737ea82793460c367b9c3
diff --git a/sbin/md5/tests/sha512sum.digest b/sbin/md5/tests/sha512sum.digest
new file mode 100644
index 000000000000..55bbd509e4df
--- /dev/null
+++ b/sbin/md5/tests/sha512sum.digest
@@ -0,0 +1,8 @@
+cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e 1.inp
+1f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75 2.inp
+ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f 3.inp
+107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c 4.inp
+4dbff86cc2ca1bae1e16468a05cb9881c97f1753bce3619034898faa1aabe429955a1bf8ec483d7421fe3c1646613a59ed5441fb0f321389f77f48a879c7b1f1 5.inp
+1e07be23c26a86ea37ea810c8ec7809352515a970e9253c26f536cfc7a9996c45c8370583e0a78fa4a90041d71a4ceab7423f19c71b9d5a3e01249f0bebd5894 6.inp
+72ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843 7.inp
+e8a835195e039708b13d9131e025f4441dbdc521ce625f245a436dcd762f54bf5cb298d96235e6c6a304e087ec8189b9512cbdf6427737ea82793460c367b9c3 8.inp
diff --git a/sbin/md5/tests/sha512t256.digest b/sbin/md5/tests/sha512t256.digest
new file mode 100644
index 000000000000..3e7df9eb98db
--- /dev/null
+++ b/sbin/md5/tests/sha512t256.digest
@@ -0,0 +1,8 @@
+SHA512t256 (1.inp) = c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a
+SHA512t256 (2.inp) = 455e518824bc0601f9fb858ff5c37d417d67c2f8e0df2babe4808858aea830f8
+SHA512t256 (3.inp) = 53048e2681941ef99b2e29b76b4c7dabe4c2d0c634fc6d46e0e2f13107e7af23
+SHA512t256 (4.inp) = 0cf471fd17ed69d990daf3433c89b16d63dec1bb9cb42a6094604ee5d7b4e9fb
+SHA512t256 (5.inp) = fc3189443f9c268f626aea08a756abe7b726b05f701cb08222312ccfd6710a26
+SHA512t256 (6.inp) = cdf1cc0effe26ecc0c13758f7b4a48e000615df241284185c39eb05d355bb9c8
+SHA512t256 (7.inp) = 2c9fdbc0c90bdd87612ee8455474f9044850241dc105b1e8b94b8ddf5fac9148
+SHA512t256 (8.inp) = dd095fc859b336c30a52548b3dc59fcc0d1be8616ebcf3368fad23107db2d736
diff --git a/sbin/md5/tests/sha512t256sum.digest b/sbin/md5/tests/sha512t256sum.digest
new file mode 100644
index 000000000000..425e31006d6e
--- /dev/null
+++ b/sbin/md5/tests/sha512t256sum.digest
@@ -0,0 +1,8 @@
+c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a 1.inp
+455e518824bc0601f9fb858ff5c37d417d67c2f8e0df2babe4808858aea830f8 2.inp
+53048e2681941ef99b2e29b76b4c7dabe4c2d0c634fc6d46e0e2f13107e7af23 3.inp
+0cf471fd17ed69d990daf3433c89b16d63dec1bb9cb42a6094604ee5d7b4e9fb 4.inp
+fc3189443f9c268f626aea08a756abe7b726b05f701cb08222312ccfd6710a26 5.inp
+cdf1cc0effe26ecc0c13758f7b4a48e000615df241284185c39eb05d355bb9c8 6.inp
+2c9fdbc0c90bdd87612ee8455474f9044850241dc105b1e8b94b8ddf5fac9148 7.inp
+dd095fc859b336c30a52548b3dc59fcc0d1be8616ebcf3368fad23107db2d736 8.inp
diff --git a/sbin/md5/tests/skein1024.digest b/sbin/md5/tests/skein1024.digest
new file mode 100644
index 000000000000..dea354221b26
--- /dev/null
+++ b/sbin/md5/tests/skein1024.digest
@@ -0,0 +1,8 @@
+Skein1024 (1.inp) = 0fff9563bb3279289227ac77d319b6fff8d7e9f09da1247b72a0a265cd6d2a62645ad547ed8193db48cff847c06494a03f55666d3b47eb4c20456c9373c86297d630d5578ebd34cb40991578f9f52b18003efa35d3da6553ff35db91b81ab890bec1b189b7f52cb2a783ebb7d823d725b0b4a71f6824e88f68f982eefc6d19c6
+Skein1024 (2.inp) = 6ab4c4ba9814a3d976ec8bffa7fcc638ceba0544a97b3c98411323ffd2dc936315d13dc93c13c4e88cda6f5bac6f2558b2d8694d3b6143e40d644ae43ca940685cb37f809d3d0550c56cba8036dee729a4f8fb960732e59e64d57f7f7710f8670963cdcdc95b41daab4855fcf8b6762a64b173ee61343a2c7689af1d293eba97
+Skein1024 (3.inp) = 35a599a0f91abcdb4cb73c19b8cb8d947742d82c309137a7caed29e8e0a2ca7a9ff9a90c34c1908cc7e7fd99bb15032fb86e76df21b72628399b5f7c3cc209d7bb31c99cd4e19465622a049afbb87c03b5ce3888d17e6e667279ec0aa9b3e2712624c01b5f5bbe1a564220bdcf6990af0c2539019f313fdd7406cca3892a1f1f
+Skein1024 (4.inp) = ea891f5268acd0fac97467fc1aa89d1ce8681a9992a42540e53babee861483110c2d16f49e73bac27653ff173003e40cfb08516cd34262e6af95a5d8645c9c1abb3e813604d508b8511b30f9a5c1b352aa0791c7d2f27b2706dccea54bc7de6555b5202351751c3299f97c09cf89c40f67187e2521c0fad82b30edbb224f0458
+Skein1024 (5.inp) = f23d95c2a25fbcd0e797cd058fec39d3c52d2b5afd7a9af1df934e63257d1d3dcf3246e7329c0f1104c1e51e3d22e300507b0c3b9f985bb1f645ef49835080536becf83788e17fed09c9982ba65c3cb7ffe6a5f745b911c506962adf226e435c42f6f6bc08d288f9c810e807e3216ef444f3db22744441deefa4900982a1371f
+Skein1024 (6.inp) = cf3889e8a8d11bfd3938055d7d061437962bc5eac8ae83b1b71c94be201b8cf657fdbfc38674997a008c0c903f56a23feb3ae30e012377f1cfa080a9ca7fe8b96138662653fb3335c7d06595bf8baf65e215307532094cfdfa056bd8052ab792a3944a2adaa47b30335b8badb8fe9eb94fe329cdca04e58bbc530f0af709f469
+Skein1024 (7.inp) = cf21a613620e6c119eca31fdfaad449a8e02f95ca256c21d2a105f8e4157048f9fe1e897893ea18b64e0e37cb07d5ac947f27ba544caf7cbc1ad094e675aed77a366270f7eb7f46543bccfa61c526fd628408058ed00ed566ac35a9761d002e629c4fb0d430b2f4ad016fcc49c44d2981c4002da0eecc42144160e2eaea4855a
+Skein1024 (8.inp) = e6799b78db54085a2be7ff4c8007f147fa88d326abab30be0560b953396d8802feee9a15419b48a467574e9283be15685ca8a079ee52b27166b64dd70b124b1d4e4f6aca37224c3f2685e67e67baef9f94b905698adc794a09672aba977a61b20966912acdb08c21a2c37001785355dc884751a21f848ab36e590331ff938138
diff --git a/sbin/md5/tests/skein1024sum.digest b/sbin/md5/tests/skein1024sum.digest
new file mode 100644
index 000000000000..dca058ab55b7
--- /dev/null
+++ b/sbin/md5/tests/skein1024sum.digest
@@ -0,0 +1,8 @@
+0fff9563bb3279289227ac77d319b6fff8d7e9f09da1247b72a0a265cd6d2a62645ad547ed8193db48cff847c06494a03f55666d3b47eb4c20456c9373c86297d630d5578ebd34cb40991578f9f52b18003efa35d3da6553ff35db91b81ab890bec1b189b7f52cb2a783ebb7d823d725b0b4a71f6824e88f68f982eefc6d19c6 1.inp
+6ab4c4ba9814a3d976ec8bffa7fcc638ceba0544a97b3c98411323ffd2dc936315d13dc93c13c4e88cda6f5bac6f2558b2d8694d3b6143e40d644ae43ca940685cb37f809d3d0550c56cba8036dee729a4f8fb960732e59e64d57f7f7710f8670963cdcdc95b41daab4855fcf8b6762a64b173ee61343a2c7689af1d293eba97 2.inp
+35a599a0f91abcdb4cb73c19b8cb8d947742d82c309137a7caed29e8e0a2ca7a9ff9a90c34c1908cc7e7fd99bb15032fb86e76df21b72628399b5f7c3cc209d7bb31c99cd4e19465622a049afbb87c03b5ce3888d17e6e667279ec0aa9b3e2712624c01b5f5bbe1a564220bdcf6990af0c2539019f313fdd7406cca3892a1f1f 3.inp
+ea891f5268acd0fac97467fc1aa89d1ce8681a9992a42540e53babee861483110c2d16f49e73bac27653ff173003e40cfb08516cd34262e6af95a5d8645c9c1abb3e813604d508b8511b30f9a5c1b352aa0791c7d2f27b2706dccea54bc7de6555b5202351751c3299f97c09cf89c40f67187e2521c0fad82b30edbb224f0458 4.inp
+f23d95c2a25fbcd0e797cd058fec39d3c52d2b5afd7a9af1df934e63257d1d3dcf3246e7329c0f1104c1e51e3d22e300507b0c3b9f985bb1f645ef49835080536becf83788e17fed09c9982ba65c3cb7ffe6a5f745b911c506962adf226e435c42f6f6bc08d288f9c810e807e3216ef444f3db22744441deefa4900982a1371f 5.inp
+cf3889e8a8d11bfd3938055d7d061437962bc5eac8ae83b1b71c94be201b8cf657fdbfc38674997a008c0c903f56a23feb3ae30e012377f1cfa080a9ca7fe8b96138662653fb3335c7d06595bf8baf65e215307532094cfdfa056bd8052ab792a3944a2adaa47b30335b8badb8fe9eb94fe329cdca04e58bbc530f0af709f469 6.inp
+cf21a613620e6c119eca31fdfaad449a8e02f95ca256c21d2a105f8e4157048f9fe1e897893ea18b64e0e37cb07d5ac947f27ba544caf7cbc1ad094e675aed77a366270f7eb7f46543bccfa61c526fd628408058ed00ed566ac35a9761d002e629c4fb0d430b2f4ad016fcc49c44d2981c4002da0eecc42144160e2eaea4855a 7.inp
+e6799b78db54085a2be7ff4c8007f147fa88d326abab30be0560b953396d8802feee9a15419b48a467574e9283be15685ca8a079ee52b27166b64dd70b124b1d4e4f6aca37224c3f2685e67e67baef9f94b905698adc794a09672aba977a61b20966912acdb08c21a2c37001785355dc884751a21f848ab36e590331ff938138 8.inp
diff --git a/sbin/md5/tests/skein256.digest b/sbin/md5/tests/skein256.digest
new file mode 100644
index 000000000000..ee17f8df1532
--- /dev/null
+++ b/sbin/md5/tests/skein256.digest
@@ -0,0 +1,8 @@
+Skein256 (1.inp) = c8877087da56e072870daa843f176e9453115929094c3a40c463a196c29bf7ba
+Skein256 (2.inp) = 7fba44ff1a31d71a0c1f82e6e82fb5e9ac6c92a39c9185b9951fed82d82fe635
+Skein256 (3.inp) = 258bdec343b9fde1639221a5ae0144a96e552e5288753c5fec76c05fc2fc1870
+Skein256 (4.inp) = 4d2ce0062b5eb3a4db95bc1117dd8aa014f6cd50fdc8e64f31f7d41f9231e488
+Skein256 (5.inp) = 46d8440685461b00e3ddb891b2ecc6855287d2bd8834a95fb1c1708b00ea5e82
+Skein256 (6.inp) = 7c5eb606389556b33d34eb2536459528dc0af97adbcd0ce273aeb650f598d4b2
+Skein256 (7.inp) = 4def7a7e5464a140ae9c3a80279fbebce4bd00f9faad819ab7e001512f67a10d
+Skein256 (8.inp) = d9c017dbe355f318d036469eb9b5fbe129fc2b5786a9dc6746a516eab6fe0126
diff --git a/sbin/md5/tests/skein256sum.digest b/sbin/md5/tests/skein256sum.digest
new file mode 100644
index 000000000000..2e1c8d1bc60d
--- /dev/null
+++ b/sbin/md5/tests/skein256sum.digest
@@ -0,0 +1,8 @@
+c8877087da56e072870daa843f176e9453115929094c3a40c463a196c29bf7ba 1.inp
+7fba44ff1a31d71a0c1f82e6e82fb5e9ac6c92a39c9185b9951fed82d82fe635 2.inp
+258bdec343b9fde1639221a5ae0144a96e552e5288753c5fec76c05fc2fc1870 3.inp
+4d2ce0062b5eb3a4db95bc1117dd8aa014f6cd50fdc8e64f31f7d41f9231e488 4.inp
+46d8440685461b00e3ddb891b2ecc6855287d2bd8834a95fb1c1708b00ea5e82 5.inp
+7c5eb606389556b33d34eb2536459528dc0af97adbcd0ce273aeb650f598d4b2 6.inp
+4def7a7e5464a140ae9c3a80279fbebce4bd00f9faad819ab7e001512f67a10d 7.inp
+d9c017dbe355f318d036469eb9b5fbe129fc2b5786a9dc6746a516eab6fe0126 8.inp
diff --git a/sbin/md5/tests/skein512.digest b/sbin/md5/tests/skein512.digest
new file mode 100644
index 000000000000..6b2e9ad0f723
--- /dev/null
+++ b/sbin/md5/tests/skein512.digest
@@ -0,0 +1,8 @@
+Skein512 (1.inp) = bc5b4c50925519c290cc634277ae3d6257212395cba733bbad37a4af0fa06af41fca7903d06564fea7a2d3730dbdb80c1f85562dfcc070334ea4d1d9e72cba7a
+Skein512 (2.inp) = b1cd8d33f61b3737adfd59bb13ad82f4a9548e92f22956a8976cca3fdb7fee4fe91698146c4197cec85d38b83c5d93bdba92c01fd9a53870d0c7f967bc62bdce
+Skein512 (3.inp) = 8f5dd9ec798152668e35129496b029a960c9a9b88662f7f9482f110b31f9f93893ecfb25c009baad9e46737197d5630379816a886aa05526d3a70df272d96e75
+Skein512 (4.inp) = 15b73c158ffb875fed4d72801ded0794c720b121c0c78edf45f900937e6933d9e21a3a984206933d504b5dbb2368000411477ee1b204c986068df77886542fcc
+Skein512 (5.inp) = 23793ad900ef12f9165c8080da6fdfd2c8354a2929b8aadf83aa82a3c6470342f57cf8c035ec0d97429b626c4d94f28632c8f5134fd367dca5cf293d2ec13f8c
+Skein512 (6.inp) = 0c6bed927e022f5ddcf81877d42e5f75798a9f8fd3ede3d83baac0a2f364b082e036c11af35fe478745459dd8f5c0b73efe3c56ba5bb2009208d5a29cc6e469c
+Skein512 (7.inp) = 2ca9fcffb3456f297d1b5f407014ecb856f0baac8eb540f534b1f187196f21e88f31103128c2f03fcc9857d7a58eb66f9525e2302d88833ee069295537a434ce
+Skein512 (8.inp) = 1131f2aaa0e97126c9314f9f968cc827259bbfabced2943bb8c9274448998fb3b78738b4580dd500c76105fd3c03e465e1414f2c29664286b1f79d3e51128125
diff --git a/sbin/md5/tests/skein512sum.digest b/sbin/md5/tests/skein512sum.digest
new file mode 100644
index 000000000000..3ee9b67038ad
--- /dev/null
+++ b/sbin/md5/tests/skein512sum.digest
@@ -0,0 +1,8 @@
+bc5b4c50925519c290cc634277ae3d6257212395cba733bbad37a4af0fa06af41fca7903d06564fea7a2d3730dbdb80c1f85562dfcc070334ea4d1d9e72cba7a 1.inp
+b1cd8d33f61b3737adfd59bb13ad82f4a9548e92f22956a8976cca3fdb7fee4fe91698146c4197cec85d38b83c5d93bdba92c01fd9a53870d0c7f967bc62bdce 2.inp
+8f5dd9ec798152668e35129496b029a960c9a9b88662f7f9482f110b31f9f93893ecfb25c009baad9e46737197d5630379816a886aa05526d3a70df272d96e75 3.inp
+15b73c158ffb875fed4d72801ded0794c720b121c0c78edf45f900937e6933d9e21a3a984206933d504b5dbb2368000411477ee1b204c986068df77886542fcc 4.inp
+23793ad900ef12f9165c8080da6fdfd2c8354a2929b8aadf83aa82a3c6470342f57cf8c035ec0d97429b626c4d94f28632c8f5134fd367dca5cf293d2ec13f8c 5.inp
+0c6bed927e022f5ddcf81877d42e5f75798a9f8fd3ede3d83baac0a2f364b082e036c11af35fe478745459dd8f5c0b73efe3c56ba5bb2009208d5a29cc6e469c 6.inp
+2ca9fcffb3456f297d1b5f407014ecb856f0baac8eb540f534b1f187196f21e88f31103128c2f03fcc9857d7a58eb66f9525e2302d88833ee069295537a434ce 7.inp
+1131f2aaa0e97126c9314f9f968cc827259bbfabced2943bb8c9274448998fb3b78738b4580dd500c76105fd3c03e465e1414f2c29664286b1f79d3e51128125 8.inp



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202106280911.15S9BjEK091150>