def parse_authentication(authentication):
    """Split the given method:password field into its components.

    authentication (str): an authentication string as stored in the DB,
        for example "plaintext:password".

    return (str, str): the method and the payload

    raise (ValueError): when the authentication string is not valid.

    """
    method, sep, payload = authentication.partition(":")

    if sep != ":":
        raise ValueError("Authentication string not parsable.")

    return method, payload