Rice water instead of plain water, for some reason does harden up soap, per some anecdotal comments, and I have experienced this as well. Salt does, of course. Apparently Sodium Lactate contributes to a longer-lasting bar, as well as helping the bar to harden up sooner to get it out of the mold faster. Besides using a higher lye concentration (less water), another factor may be your superfat. A lower superfat logically means there is less unsaponified oil in the soap, which logically would produce a softer bar under the right circumstances, which I think would depend on the actual recipe. Oh, and vinegar. I ended up with extremely hard soap using vinegar in place of water in my lye solution. There are additional calculations for the lye, because vinegar also reacts with lye.
I would say that of all the soaps I have made, vinegar replacement made the biggest difference in hardening up the soap. And salted rice water the second biggest difference.