diff --git a/garnet/bin/pkg_resolver/src/resolver_service.rs b/garnet/bin/pkg_resolver/src/resolver_service.rs
index 4501a50f1d74f0a9e42b82aed7b212b2dc236d89..4c00dfa9436839b20eb434f488d84d4585d05512 100644
--- a/garnet/bin/pkg_resolver/src/resolver_service.rs
+++ b/garnet/bin/pkg_resolver/src/resolver_service.rs
@@ -134,8 +134,8 @@ async fn resolve<'a>(
     // FIXME: use the package cache to fetch the package instead of amber.
 
     // Ask amber to cache the package.
-    let chan =
-        await!(amber.get_update_complete(&name, uri.variant(), uri.hash())).map_err(|err| {
+    let chan = await!(amber.get_update_complete(&name, uri.variant(), uri.package_hash()))
+        .map_err(|err| {
             fx_log_err!("error communicating with amber: {:?}", err);
             Status::INTERNAL
         })?;
diff --git a/garnet/lib/rust/fuchsia_uri/src/pkg_uri.rs b/garnet/lib/rust/fuchsia_uri/src/pkg_uri.rs
index 3b44984c47b8f1d45be17112a63d17d2e4dd5776..e98bcf00fe327d2ba5b3c06aaad29d9c4415d0f1 100644
--- a/garnet/lib/rust/fuchsia_uri/src/pkg_uri.rs
+++ b/garnet/lib/rust/fuchsia_uri/src/pkg_uri.rs
@@ -32,7 +32,7 @@ use url::Url;
 /// - fuchsia-pkg://example.com/some-package/some-variant#path/to/resource
 /// - fuchsia-pkg://example.com/some-package/some-variant?hash=<some-hash>#path/to/resource
 /// - fuchsia-pkg://example.com/some-package/some-variant/<some-hash>#path/to/resource (obsolete)
-#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
+#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
 pub struct PkgUri {
     host: String,
     path: String,
@@ -116,7 +116,7 @@ impl PkgUri {
         &self.path
     }
 
-    pub fn hash(&self) -> Option<&str> {
+    pub fn package_hash(&self) -> Option<&str> {
         self.hash.as_ref().map(|s| &**s)
     }
 
@@ -246,7 +246,7 @@ impl<'de> Deserialize<'de> for PkgUri {
     }
 }
 
-#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize)]
+#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize)]
 #[serde(transparent)]
 pub struct RepoUri {
     uri: PkgUri,
@@ -410,7 +410,7 @@ mod tests {
                         assert_eq!(uri.path(), $pkg_path);
                         assert_eq!(uri.name(), $pkg_name);
                         assert_eq!(uri.variant(), $pkg_variant);
-                        assert_eq!(uri.hash(), $pkg_hash);
+                        assert_eq!(uri.package_hash(), $pkg_hash);
                         assert_eq!(uri.resource(), $pkg_resource);
                     }
 
@@ -753,7 +753,7 @@ mod tests {
         assert_eq!("/", uri.path());
         assert_eq!(None, uri.name());
         assert_eq!(None, uri.variant());
-        assert_eq!(None, uri.hash());
+        assert_eq!(None, uri.package_hash());
         assert_eq!(None, uri.resource());
 
         assert_eq!(PkgUri::new_repository("".to_string()), Err(ParseError::InvalidHost));
@@ -773,7 +773,7 @@ mod tests {
         assert_eq!(Some("stable"), uri.variant());
         assert_eq!(
             Some("80e8721f4eba5437c8b6e1604f6ee384f42aed2b6dfbfd0b616a864839cd7b4a"),
-            uri.hash()
+            uri.package_hash()
         );
         assert_eq!(None, uri.resource());
         assert_eq!(uri, uri.root_uri());
@@ -829,7 +829,7 @@ mod tests {
         assert_eq!(Some("stable"), uri.variant());
         assert_eq!(
             Some("80e8721f4eba5437c8b6e1604f6ee384f42aed2b6dfbfd0b616a864839cd7b4a"),
-            uri.hash()
+            uri.package_hash()
         );
         assert_eq!(Some("foo/bar"), uri.resource());
         let mut uri_no_resource = uri.clone();
diff --git a/garnet/lib/rust/fuchsia_uri_rewrite/src/rule.rs b/garnet/lib/rust/fuchsia_uri_rewrite/src/rule.rs
index 60835d7c5c0f3846925718ccea6252c9da22ca0f..3a17a326196d9383c273db22a6aa42d917b2694c 100644
--- a/garnet/lib/rust/fuchsia_uri_rewrite/src/rule.rs
+++ b/garnet/lib/rust/fuchsia_uri_rewrite/src/rule.rs
@@ -96,13 +96,13 @@ impl Rule {
             (_, None) => PkgUri::new_package(
                 self.host_replacement.clone(),
                 new_path,
-                uri.hash().map(|s| s.to_owned()),
+                uri.package_hash().map(|s| s.to_owned()),
             ),
 
             (_, Some(resource)) => PkgUri::new_resource(
                 self.host_replacement.clone(),
                 new_path,
-                uri.hash().map(|s| s.to_owned()),
+                uri.package_hash().map(|s| s.to_owned()),
                 resource.to_owned(),
             ),
         })