This figure consists of boxes labeled as follows:

- Data: Two boxes are labeled this
- MAC (HmacMD5): Two boxes are labeled this
- Shared Secret Key
- Signal Digest Hash: Two boxes are labeled this
- If data was the same, the hash is the same

Labeled arrows connect these boxes:

`update()`

: From Data #1 to MAC (HmacMD5) #1`doFinal()`

: From Data #1 to MAC (HmacMD5) #1`update()`

: From Data #2 to MAC (HmacMD5) #2`doFinal()`

: From Data #2 to MAC (HmacMD5) #2

Unlabeled arrows connect these boxes:

- From Shared Secret Key to MAC (HmacMD5) (two separate arrows)
- From MAC (HmacMD5) #1 to Signed Digest Hash #1
- From MAC (HmacMD5) #2 to Signed Digest Hash #2
- From Signed Digest Hash #1 to If data was the same, the hash is the same
- From Signed Digest Hash #2 to If data was the same, the hash is the same