bioutils.digest module¶
- class bioutils.digest.Digest[source]¶
Bases:
bytes
Represents a sliceable binary digest, with support for encoding and decoding using printable characters.
- Supported encoding and decodings are::
base64
base64url
hex (aka base16)
The Base64 specification (https://tools.ietf.org/html/rfc4648#page-7) defines base64 and a URL-safe variant called base64url.
“Stringified” Digest objects use URL-safe base64 encodings.
>>> import hashlib
>>> b = hashlib.sha512().digest() >>> len(b) 64
>>> d = Digest(b) # creation >>> str(d) # returns base64url 'z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg_SpIdNs6c5H0NE8XYXysP-DGNKHfuwvY7kxvUdBeoGlODJ6-SfaPg=='
>>> d24 = d[:24] # slice binary digest at first 24 bytes >>> str(d24) 'z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXc'
# encoding
>>> d.as_base64url() 'z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg_SpIdNs6c5H0NE8XYXysP-DGNKHfuwvY7kxvUdBeoGlODJ6-SfaPg==' >>> d.as_hex() 'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'
# decoding
>>> d == Digest.from_base64(d.as_base64()) True >>> d == Digest.from_base64url(d.as_base64url()) True >>> d == Digest.from_hex(d.as_hex()) True
- as_base64()[source]¶
Returns Digest as a base64-encoded string.
- Returns:
base64 encoding of Digest.
- Return type:
str
- as_base64url()[source]¶
Returns Digest as URL-safe, base64-encoded string.
- Returns:
URL-safe base64 encoding of Digest.
- Return type:
str
- as_base64us()¶
Returns Digest as URL-safe, base64-encoded string.
- Returns:
URL-safe base64 encoding of Digest.
- Return type:
str
- static from_base64(s)[source]¶
Returns Digest object initialized from a base64-encoded string.
- Parameters:
s (str) – A base64-encoded digest string.
- Returns:
A Digest object initialized from s.
- Return type:
- static from_base64url(s)[source]¶
Returns Digest object initialized from a base64url string.
- Parameters:
s (str) – A base64url-encoded digest string.
- Returns:
A Digest object initialized from s.
- Return type:
- static from_base64us(s)¶
Returns Digest object initialized from a base64url string.
- Parameters:
s (str) – A base64url-encoded digest string.
- Returns:
A Digest object initialized from s.
- Return type: