Почему бы просто не поместить символы в целое число без знака, например так:
unsigned int hash = ((unsigned int) field[0]) |
((unsigned int) field[1] << 8) |
((unsigned int) field[2] << 16);
Это быстро, просто, и вы получаете уникальные значения для всех уникальных комбинаций первых трех букв.