invoke digest