File hash implementation