Und damit man im Quellcode nicht die numerischen Werte sieht, die zur Heranziehung der Teile aus dem Hash benutzt werden, würde ich einfach eine kleine Primzahlberechnung einbauen. So könntest du dir ein Array mit den Ergebnissen der Primzahlen füllen, bspw. "2,3,5,7,11,13,17,19,23". Die Werte in dem Array dienen dann als Index. Wenn du ganz gemein bist, tauscht du die einzelnen Positionen nochmal, damit man die Reihenfolge nicht an einem MD5-Hash festmachen kann.
Bspw.:
"2,3,5,7,11,13,17,19,23"
= Tausche um die Mitte =
"13,17,19,23,11,2,3,5,7"
usw...