diff --git a/import-layers/meta-security/recipes-security/libmhash/files/Makefile.test b/import-layers/meta-security/recipes-security/libmhash/files/Makefile.test
new file mode 100644
index 0000000..2e32626
--- /dev/null
+++ b/import-layers/meta-security/recipes-security/libmhash/files/Makefile.test
@@ -0,0 +1,13 @@
+#
+# Makefile for compiling mhash tests
+#
+
+ALL = mhash
+
+all: $(ALL)
+
+mhash: mhash.c
+	$(CC) $(CFLAGS) $(LDFLAGS) -o mhash mhash.c -lmhash
+
+clean:
+	rm -f *.debug $(ALL)
diff --git a/import-layers/meta-security/recipes-security/libmhash/files/mhash.c b/import-layers/meta-security/recipes-security/libmhash/files/mhash.c
new file mode 100644
index 0000000..5d123cc
--- /dev/null
+++ b/import-layers/meta-security/recipes-security/libmhash/files/mhash.c
@@ -0,0 +1,32 @@
+#include <mhash.h>
+#include <stdio.h>
+
+int main()
+{
+
+       char password[] = "Jefe";
+       int keylen = 4;
+       char data[] = "what do ya want for nothing?";
+       int datalen = 28;
+       MHASH td;
+       unsigned char mac[16];
+       int j;
+
+       td = mhash_hmac_init(MHASH_MD5, password, keylen, mhash_get_hash_pblock(MHASH_MD5));
+
+       mhash(td, data, datalen);
+       mhash_hmac_deinit(td, mac);
+
+/*
+ * The output should be 0x750c783e6ab0b503eaa86e310a5db738
+ * according to RFC 2104.
+ */
+
+       printf("0x");
+       for (j = 0; j < mhash_get_block_size(MHASH_MD5); j++) {
+               printf("%.2x", mac[j]);
+       }
+       printf("\n");
+
+       exit(0);
+}
diff --git a/import-layers/meta-security/recipes-security/libmhash/files/run-ptest b/import-layers/meta-security/recipes-security/libmhash/files/run-ptest
new file mode 100644
index 0000000..2b0b94a
--- /dev/null
+++ b/import-layers/meta-security/recipes-security/libmhash/files/run-ptest
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+OUTPUT=$($(dirname $0)/mhash)
+MHASH_MD5="0x750c783e6ab0b503eaa86e310a5db738"
+
+if [ x"$OUTPUT" = x"$MHASH_MD5" ]; then
+    echo "PASS: mhash ptest"
+    exit 0
+else
+    echo "FAIL: mhash ptest"
+    exit 1
+fi
diff --git a/import-layers/meta-security/recipes-security/libmhash/libmhash_0.9.9.9.bb b/import-layers/meta-security/recipes-security/libmhash/libmhash_0.9.9.9.bb
new file mode 100644
index 0000000..9b34cb1
--- /dev/null
+++ b/import-layers/meta-security/recipes-security/libmhash/libmhash_0.9.9.9.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Library of hashing algorithms."
+DESCRIPTION = "\
+  Mhash is a free (under GNU Lesser GPL) library \
+  which provides a uniform interface to a large number of hash \
+  algorithms. These algorithms can be used to compute checksums, \
+  message digests, and other signatures. \
+  "
+HOMEPAGE = "http://mhash.sourceforge.net/"
+
+LICENSE = "LGPLv2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
+
+S = "${WORKDIR}/mhash-${PV}"
+
+SECTION = "libs"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/mhash/mhash-${PV}.tar.bz2 \
+    file://Makefile.test \
+    file://mhash.c \
+    file://run-ptest \
+    "
+
+SRC_URI[md5sum] = "f91c74f9ccab2b574a98be5bc31eb280"
+SRC_URI[sha256sum] = "56521c52a9033779154432d0ae47ad7198914785265e1f570cee21ab248dfef0"
+
+inherit autotools-brokensep ptest
+
+do_compile_ptest() {
+    if [ ! -d ${S}/demo ]; then mkdir ${S}/demo; fi
+    cp ${WORKDIR}/Makefile.test ${S}/demo/Makefile
+    cp ${WORKDIR}/mhash.c ${S}/demo/
+    make -C ${S}/demo CFLAGS="${CFLAGS} -I${S}/include/" LDFLAGS="${LDFLAGS} -L${S}/lib/.libs"
+}
+
+do_install_ptest() {
+    install -m 0755 ${S}/demo/mhash ${D}${PTEST_PATH}
+}
