diff --git a/test/Makefile.am b/test/Makefile.am
index ab98534..6923088 100755
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -12,7 +12,7 @@
 	$(PHOSPHOR_DBUS_INTERFACES_CFLAGS)
 utest_LDFLAGS = -lgtest_main -lgtest $(PTHREAD_LIBS) \
 	$(PHOSPHOR_DBUS_INTERFACES_LIBS) $(OESDK_TESTCASE_FLAGS) \
-	$(PHOSPHOR_LOGGING_LIBS) -lstdc++fs
+	$(PHOSPHOR_LOGGING_LIBS) -lstdc++fs -lssl -lcrypto
 
 utest_SOURCES = utest.cpp
 utest_LDADD = $(top_builddir)/phosphor_version_software_manager-version.o
diff --git a/test/utest.cpp b/test/utest.cpp
index 3195a2f..f777742 100755
--- a/test/utest.cpp
+++ b/test/utest.cpp
@@ -6,6 +6,7 @@
 #include <iostream>
 #include <sstream>
 #include <string>
+#include <openssl/sha.h>
 
 using namespace phosphor::software::manager;
 namespace fs = std::experimental::filesystem;
@@ -56,12 +57,18 @@
 /** @brief Make sure we correctly get the Id from getId()*/
 TEST_F(VersionTest, TestGetId)
 {
-    std::stringstream hexId;
     auto version = "test-id";
-
-    hexId << std::hex << ((std::hash<std::string> {}(
-                               version)) & 0xFFFFFFFF);
-
-    EXPECT_EQ(Version::getId(version), hexId.str());
-
+    unsigned char digest[SHA512_DIGEST_LENGTH];
+    SHA512_CTX ctx;
+    SHA512_Init(&ctx);
+    SHA512_Update(&ctx, version, strlen(version));
+    SHA512_Final(digest, &ctx);
+    char mdString[SHA512_DIGEST_LENGTH*2+1];
+    for (int i = 0; i < SHA512_DIGEST_LENGTH; i++)
+    {
+        snprintf(&mdString[i*2], 3, "%02x", (unsigned int)digest[i]);
+    }
+    std::string hexId = std::string(mdString);
+    hexId = hexId.substr(0, 8);
+    EXPECT_EQ(Version::getId(version), hexId);
 }
