se usi un algoritmo che non ha l'inverso, non lo decodificherai mai e non potrai mai validarlo... fatti mandare solo la secretKey e verifica che sia quella nel db... altrimenti cercati in rete un algoritmo decriptabile o che abbia l'inverso... oppure non usare funzioni random per il salt, ma che ne so il salt potrebbe essere la 1°/4°/6°/9°/2° char della secreteKey... insomma, vedi te