diff --git a/src/hash.rs b/src/hash.rs
index a3ab286..db4a118 100644
--- a/src/hash.rs
+++ b/src/hash.rs
@@ -286,7 +286,7 @@
         impl Display for $digest_name {
             fn fmt(&self, f: &mut Formatter) -> Result<(), fmt::Error> {
                 for byte in &self.0[..] {
-                    write!(f, "{:x}", byte)?;
+                    write!(f, "{:02x}", byte)?;
                 }
                 Ok(())
             }
@@ -4465,4 +4465,27 @@
             ),
         ];
     }
+
+    #[test]
+    fn test_display() {
+        assert_eq!(
+            Sha256::hash(&[]).to_string(),
+            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
+        );
+        assert_eq!(
+            Sha384::hash(&[]).to_string(),
+            "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b"
+        );
+        assert_eq!(
+            Sha512::hash(&[]).to_string(),
+            "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"
+        );
+
+        #[cfg(feature = "insecure")]
+        {
+            #[allow(deprecated)]
+            let hash = InsecureSha1::hash(&[]).to_string();
+            assert_eq!(hash, "da39a3ee5e6b4b0d3255bfef95601890afd80709");
+        }
+    }
 }
