Update digest directly instead of string buffer