404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@3.15.5.211: ~ $
"""`JOSE Base64`_ is defined as:

  - URL-safe Base64
  - padding stripped

.. _`JOSE Base64`:
    https://tools.ietf.org/html/draft-ietf-jose-json-web-signature-37#appendix-C

.. Do NOT try to call this module "base64", as it will "shadow" the
   standard library.

"""
import base64


def b64encode(data):
    """JOSE Base64 encode.

    :param data: Data to be encoded.
    :type data: bytes

    :returns: JOSE Base64 string.
    :rtype: bytes

    :raises TypeError: if ``data`` is of incorrect type

    """
    if not isinstance(data, bytes):
        raise TypeError('argument should be bytes')
    return base64.urlsafe_b64encode(data).rstrip(b'=')


def b64decode(data):
    """JOSE Base64 decode.

    :param data: Base64 string to be decoded. If it's unicode, then
                 only ASCII characters are allowed.
    :type data: bytes or unicode

    :returns: Decoded data.
    :rtype: bytes

    :raises TypeError: if input is of incorrect type
    :raises ValueError: if input is unicode with non-ASCII characters

    """
    if isinstance(data, str):
        try:
            data = data.encode('ascii')
        except UnicodeEncodeError:
            raise ValueError(
                'unicode argument should contain only ASCII characters')
    elif not isinstance(data, bytes):
        raise TypeError('argument should be a str or unicode')

    return base64.urlsafe_b64decode(data + b'=' * (4 - (len(data) % 4)))

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
testdata Folder 0755
__init__.py File 1.66 KB 0644
b64.py File 1.4 KB 0644
b64_test.py File 2.2 KB 0644
errors.py File 762 B 0644
errors_test.py File 463 B 0644
interfaces.py File 7.51 KB 0644
interfaces_test.py File 3.51 KB 0644
json_util.py File 15.35 KB 0644
json_util_test.py File 13.83 KB 0644
jwa.py File 8.17 KB 0644
jwa_test.py File 8.8 KB 0644
jwk.py File 13.12 KB 0644
jwk_test.py File 12.69 KB 0644
jws.py File 13.84 KB 0644
jws_test.py File 8.32 KB 0644
magic_typing.py File 529 B 0644
magic_typing_test.py File 1.05 KB 0644
test_util.py File 2.57 KB 0644
util.py File 8.37 KB 0644
util_test.py File 8.15 KB 0644