Updated documentation.
diff --git a/docs/hazmat/oath/hotp.rst b/docs/hazmat/oath/hotp.rst
index 1dee26b..7aff330 100644
--- a/docs/hazmat/oath/hotp.rst
+++ b/docs/hazmat/oath/hotp.rst
@@ -8,12 +8,12 @@
 This module contains functions for generating and verifying one time password
 values based on Hash-based message authentication codes (HMAC).
 
-.. class:: HOTP(secret, length, backend)
+.. class:: HOTP(key, length, backend)
 
-    HOTP objects take a ``secret`` and ``length`` parameter. The ``secret``
+    HOTP objects take a ``key`` and ``length`` parameter. The ``key``
     should be randomly generated bytes and is recommended to be 160 bits in
     length. The ``length`` parameter controls the length of the generated
-    one time password and is recommended to be at least a 6 digit value.
+    one time password and must be >= 6.
 
     This is an implementation of :rfc:`4226`.
 
@@ -23,17 +23,22 @@
         >>> from cryptography.hazmat.backends import default_backend
         >>> from cryptography.hazmat.oath.hotp import HOTP
 
-        >>> key = "12345678901234567890"
+        >>> key = b"12345678901234567890"
         >>> hotp = HOTP(key, 6, backend=default_backend())
         >>> hotp.generate(0)
         '755224'
-        >>> hotp.verify("755224", 0)
+        >>> hotp.verify(b"755224", 0)
 
-    :param bytes secret: Secret key as ``bytes``.
+    :param bytes key: Secret key as ``bytes``. This value must be generated in a
+                      cryptographically secure fashion and be at least 128 bits.
+                      It is recommended that the key be 160 bits.
     :param int length: Length of generated one time password as ``int``.
     :param backend: A
         :class:`~cryptography.hazmat.backends.interfaces.HMACBackend`
         provider.
+    :raises ValueError: This is raised if the provided ``key`` or ``length``
+                        parameters are shorter than required.
+
 
     .. method:: generate(counter)
 
@@ -44,4 +49,5 @@
 
         :param bytes hotp: The one time password value to validate.
         :param bytes counter: The counter value to validate against.
-        :return: ``True`` if the one time password value is valid. ``False`` if otherwise.
+        :raises cryptography.exceptions.InvalidToken: This is raised when the supplied HOTP
+                                                      does not match the expected HOTP.
diff --git a/tests/hazmat/oath/test_hotp.py b/tests/hazmat/oath/test_hotp.py
index 8a5aebd..4729265 100644
--- a/tests/hazmat/oath/test_hotp.py
+++ b/tests/hazmat/oath/test_hotp.py
@@ -53,7 +53,7 @@
 
         hotp = HOTP(secret, 6, backend)
 
-        assert hex(hotp._dynamic_truncate(counter))[2:] == truncated.decode()
+        assert hotp._dynamic_truncate(counter) == int(truncated.decode(), 16)
 
     @pytest.mark.parametrize("params", vectors)
     def test_generate(self, backend, params):