Why do we need both bucketNum and useSalting?