def METHOD_NAME(password, salt, iterations=30000):
    """
    Encode password using the PBKDF2 algorithm.
    :param password: raw password string
    :param salt: salt string
    :param iterations: number of iterations for algorithm
    :return:
    """
    assert password is not None
    assert salt and '$' not in salt
    hash = pbkdf2(password, salt, iterations)
    hash = base64.b64encode(bytes(hash)).decode('ascii').strip()
    return "%s$%d$%s$%s" % ('pbkdf2_sha256', iterations, salt, hash)