Given a string, salt, & hash validate the string

    The salt & val will be concatented as in gen_salt_and hash()
    & compared to the provided hash. This will only ever work
    with hashes derived from gen_salt_and_hash()

    :param val: clear-text string
    :param salt: string salt
    :param str_hash: existing hash to compare against
    :return: boolean

def cmp_val_salt_hash(val, salt, str_hash):
    """ Given a string, salt, & hash validate the string

    The salt & val will be concatented as in gen_salt_and hash()
    & compared to the provided hash. This will only ever work
    with hashes derived from gen_salt_and_hash()

    :param val: clear-text string
    :param salt: string salt
    :param str_hash: existing hash to compare against
    :return: boolean
    """

    computed_hash = hashlib.sha256(val + salt).hexdigest()
    return computed_hash == str_hash