core cleanup: move HMAC(MD5) digest calculation to backend