diff --git a/Makefile.am b/Makefile.am
index d46b2e6..3ee6529 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -39,8 +39,9 @@
   ndn-cpp/c/util/ndn_realloc.c ndn-cpp/c/util/ndn_realloc.h
 
 libndn_cpp_la_SOURCES = \
-  config.h ndn-cpp/common.hpp \
+  config.h \
   ndn-cpp/closure.hpp \
+  ndn-cpp/common.hpp ndn-cpp/common.cpp \
   ndn-cpp/data.cpp ndn-cpp/c/data.h ndn-cpp/data.hpp \
   ndn-cpp/interest.cpp ndn-cpp/c/interest.h ndn-cpp/interest.hpp \
   ndn-cpp/key.cpp ndn-cpp/c/key.h ndn-cpp/key.hpp \
diff --git a/ndn-cpp/common.cpp b/ndn-cpp/common.cpp
new file mode 100644
index 0000000..b4c6e45
--- /dev/null
+++ b/ndn-cpp/common.cpp
@@ -0,0 +1,28 @@
+/**
+ * @author: Jeff Thompson
+ * See COPYING for copyright and distribution information.
+ */
+
+#include <sstream>
+#include "common.hpp"
+
+using namespace std;
+
+namespace ndn {
+
+string toHex(const vector<unsigned char> &array) 
+{
+  ostringstream result;
+  result.flags(ios::hex | ios::uppercase);
+  for (unsigned int i = 0; i < array.size(); ++i) {
+    unsigned char x = array[i];
+    if (x < 16)
+      result << '0';
+    result << (unsigned int)x;
+  }
+
+  return result.str();
+}
+
+}
+
diff --git a/ndn-cpp/common.hpp b/ndn-cpp/common.hpp
index e477687..f82a77e 100644
--- a/ndn-cpp/common.hpp
+++ b/ndn-cpp/common.hpp
@@ -41,7 +41,14 @@
   if (value)
     vec.insert(vec.begin(), value, value + valueLength);  
 }
-  
+ 
+/**
+ * Return the hex representation of the bytes in array.
+ * @param array The array of bytes.
+ * @return Hex string.
+ */
+std::string toHex(const std::vector<unsigned char> &array);
+
 }
 
 #endif
