Vedi questa domanda correlata sul perché è una cattiva idea combina più funzioni hash .
If someone gets their hands on a list of hashes and he doesn't know what the hash function is, how can the passwords be cracked?
Sembra che tu voglia difendersi dal caso in cui un aggressore abbia avuto accesso al tuo database, ma non al tuo codice sorgente. Tuttavia, impilare più funzioni hash conosciute non è un buon approccio.
Se un utente malintenzionato può registrare un account da sé, avrà una combinazione di password e hash, rendendo piuttosto facile indovinare le funzioni hash utilizzate. Anche se non hanno questo, la funzione bruteforcing della combinazione di funzioni hash utilizzate sarà probabilmente semplice.
Quindi non guadagni nulla semplicemente combinando alcune ben note funzioni di hash, e scrivere da zero da zero è ovviamente una cattiva idea.
Se si desidera un ulteriore segreto dalla propria base di codice anziché dal database, si può prendere in considerazione l'aggiunta di un pepper , che non è solo più sicuro rispetto alla combinazione delle funzioni hash, ma è anche più facile mantenere alcune funzioni (combinazione) personalizzate di hash.