The inner hash covers the inner key pad and message.

highlighted = computed this step

The message goes inside first

The inner input joins 0x3938 with message 0x6869.

inner input=0x39386869\text{inner input}=0x39386869
Inner hashA toy HMAC-shaped table is recomputed from the pinned key and message.Inner hash - tag e7 changes to e8rowvaluecheckblock size2two-byte toy blockkey0f0epinned keyipad3636inner padinner key pad3938key xor ipadinner input39386869inner key pad || messageinner hash420x142 to 0x42opad5c5couter padouter key pad5352key xor opadouter input535242outer key pad || inner hashfinal tage70xe7 to 0xe7changed message686aone message byte changedchanged inner hash430x143 to 0x43changed final tage80xe8 to 0xe8old tag checkfaile7 != e8

The inner input is exact bytes

The joined inner input is 0x39386869.

inner input=0x39386869\text{inner input}=0x39386869
Inner hashA toy HMAC-shaped table is recomputed from the pinned key and message.Inner hash - tag e7 changes to e8rowvaluecheckblock size2two-byte toy blockkey0f0epinned keyipad3636inner padinner key pad3938key xor ipadinner input39386869inner key pad || messageinner hash420x142 to 0x42opad5c5couter padouter key pad5352key xor opadouter input535242outer key pad || inner hashfinal tage70xe7 to 0xe7changed message686aone message byte changedchanged inner hash430x143 to 0x43changed final tage80xe8 to 0xe8old tag checkfaile7 != e8

The toy hash sums the bytes

The byte sum is 0x142, so the low byte is 0x42.

H(0x39386869)=0x42H(0x39386869)=0x42
Inner hashA toy HMAC-shaped table is recomputed from the pinned key and message.Inner hash - tag e7 changes to e8rowvaluecheckblock size2two-byte toy blockkey0f0epinned keyipad3636inner padinner key pad3938key xor ipadinner input39386869inner key pad || messageinner hash420x142 to 0x42opad5c5couter padouter key pad5352key xor opadouter input535242outer key pad || inner hashfinal tage70xe7 to 0xe7changed message686aone message byte changedchanged inner hash430x143 to 0x43changed final tage80xe8 to 0xe8old tag checkfaile7 != e8

Summary

The inner hash is 0x42.

inner=0x42\text{inner}=0x42
Inner hashA toy HMAC-shaped table is recomputed from the pinned key and message.Inner hash - tag e7 changes to e8rowvaluecheckblock size2two-byte toy blockkey0f0epinned keyipad3636inner padinner key pad3938key xor ipadinner input39386869inner key pad || messageinner hash420x142 to 0x42opad5c5couter padouter key pad5352key xor opadouter input535242outer key pad || inner hashfinal tage70xe7 to 0xe7changed message686aone message byte changedchanged inner hash430x143 to 0x43changed final tage80xe8 to 0xe8old tag checkfaile7 != e8