diff --git a/src/name.cpp b/src/name.cpp
index acad1d1..9090176 100644
--- a/src/name.cpp
+++ b/src/name.cpp
@@ -31,6 +31,8 @@
 #include "encoding/block.hpp"
 #include "encoding/encoding-buffer.hpp"
 
+#include <boost/functional/hash.hpp>
+
 namespace ndn {
 
 BOOST_CONCEPT_ASSERT((boost::EqualityComparable<Name>));
@@ -341,3 +343,13 @@
 }
 
 } // namespace ndn
+
+namespace std {
+size_t
+hash<ndn::Name>::operator()(const ndn::Name& name) const
+{
+  return boost::hash_range(name.wireEncode().wire(),
+                           name.wireEncode().wire() + name.wireEncode().size());
+}
+
+} // namespace std
diff --git a/src/name.hpp b/src/name.hpp
index f4b1411..1719e92 100644
--- a/src/name.hpp
+++ b/src/name.hpp
@@ -597,4 +597,14 @@
 
 } // namespace ndn
 
+namespace std {
+template<>
+struct hash<ndn::Name>
+{
+  size_t
+  operator()(const ndn::Name& name) const;
+};
+
+} // namespace std
+
 #endif
diff --git a/tests/unit-tests/test-name.cpp b/tests/unit-tests/test-name.cpp
index 785321a..f10cf0a 100644
--- a/tests/unit-tests/test-name.cpp
+++ b/tests/unit-tests/test-name.cpp
@@ -24,6 +24,7 @@
 #include "boost-test.hpp"
 #include <boost/tuple/tuple.hpp>
 #include <boost/mpl/vector.hpp>
+#include <unordered_map>
 
 namespace ndn {
 
@@ -274,6 +275,21 @@
   BOOST_CHECK_EQUAL(number, 11676);
 }
 
+BOOST_AUTO_TEST_CASE(UnorderedMap)
+{
+  std::unordered_map<Name, int> map;
+  Name name1("/1");
+  Name name2("/2");
+  Name name3("/3");
+  map[name1] = 1;
+  map[name2] = 2;
+  map[name3] = 3;
+
+  BOOST_CHECK_EQUAL(map[name1], 1);
+  BOOST_CHECK_EQUAL(map[name2], 2);
+  BOOST_CHECK_EQUAL(map[name3], 3);
+}
+
 BOOST_AUTO_TEST_SUITE_END()
 
 } // namespace ndn
