Az mhash_keygen_s2k() egy olyan kulcsot generál, ami bytes hosszú, és a megadott jelszót figyelembe véve készül. Az S2K algoritmust használja, ami az OpenPGP dokumentumban (RFC 2440) definiált. A megadott hash algortmust használja a kulcs előállítására. A salt minden generált kulcsra más-más kell legyen, kellőkképpen véletlenszerű értékekkel, hogy különböző kulcsok álljanak elő. A salt-nak ismertnek kell lennie, amikor ellenőrzöd a kulcsokat, tehát jó ötlet ehhez fűzni a kulcsokat. A salt-nak mindig nyolc karakter hosszúnak kell lennie, ha rövidebbet adsz meg, nulákkal töltődik fel. Tartsd szem előtt, hogy a felhasználók által beadott jelszavak nem túlságosan alkalmasak titkosítási rendszerek kulcsaiként, mivel a felhasználók általában jól begépelhető kulcsot választanak. Ezek a jelszavak csak 6-7 bitet (vagy még kevesebbet) használnak ki karakterenként. Nagyon ajánlott a beadott jelszóra egy olyan átalakítás használata, mint ez a függvény.