Have you thought about multi-threading it ?

This will certainly improve performance with the computation of the hash on multi-core machines.

Darwen.