Skip to content

Commit

Permalink
[3.6] Improve code examples in hashlib cookie signing (pythonGH-3562)
Browse files Browse the repository at this point in the history
The `blake2b` function does not take the `data` keyword argument.
The hex digest returned by sign was a string, whereas compare_digest expects bytes-like objects.
Typo fix: compare_digesty -> compare_digest
(cherry picked from commit 312ffea)
  • Loading branch information
sww authored and miss-islington committed Sep 14, 2017
1 parent fa82dda commit e39e3cd
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions Doc/library/hashlib.rst
Original file line number Diff line number Diff line change
Expand Up @@ -506,8 +506,9 @@ to users and later verify them to make sure they weren't tampered with::
>>> AUTH_SIZE = 16
>>>
>>> def sign(cookie):
... h = blake2b(data=cookie, digest_size=AUTH_SIZE, key=SECRET_KEY)
... return h.hexdigest()
... h = blake2b(digest_size=AUTH_SIZE, key=SECRET_KEY)
... h.update(cookie)
... return h.hexdigest().encode('utf-8')
>>>
>>> cookie = b'user:vatrogasac'
>>> sig = sign(cookie)
Expand All @@ -517,7 +518,7 @@ to users and later verify them to make sure they weren't tampered with::
True
>>> compare_digest(b'user:policajac', sig)
False
>>> compare_digesty(cookie, '0102030405060708090a0b0c0d0e0f00')
>>> compare_digest(cookie, b'0102030405060708090a0b0c0d0e0f00')
False

Even though there's a native keyed hashing mode, BLAKE2 can, of course, be used
Expand Down

0 comments on commit e39e3cd

Please sign in to comment.