I would either separate all the parameters with a comma or remove comma at all (since expiration time length is a known thing).

If you choose the latter, swap Hmac and EData, you'll be able to do simple pattern-matching instead of binary module splits.