Eine kryptografische Hashfunktion ist eine Einwegfunktion, die einem Eingabewert, gegeben als Zeichenfolge beliebiger Länge, einen Ausgabewert fester Länge zuordnet, und dabei die Eigenschaft aufweist, dass es praktisch unmöglich ist, für einen gegebenen Ausgabewert einen entsprechenden Eingabewert zu ermitteln, wenn die Anzahl der möglichen Eingabewerte unbeschränkt ist.
Ein Salt ist eine zufällig gewählte Zeichenfolge, die an einen Eingabewert einer Hashfunktion angehängt wird (vor Anwendung der Hashfunktion). Der Ausgabewert der Hashfunktion ist also nicht mehr allein vom Eingabewert abhängig, sondern auch vom verwendeten Salt.