No veo cómo son diferentes las funciones hash. Alice no pudo usar la llave de Bob para producir un MAC y enviar el mensaje a Jim.
Supongo que te refieres al código de autenticación de mensaje.
La principal diferencia entre un MAC y una función hash es que el MAC también toma una clave secreta como entrada. Por lo tanto, el MAC proporciona integridad y autenticidad para el mensaje.
Ejemplo de cómo se usa:
Tanto Alice como Bob conocen la clave secreta k. Alice quiere enviar un mensaje largo y arbitrario m.
Bob verifica esto.
Lea otras preguntas en las etiquetas authentication