Quello che vuoi non è una collisione ma un secondo preimage .
Una collisione è: trova due messaggi distinti m e m ' che hash allo stesso valore.
Un secondo preimage è: dato un messaggio m , trova un messaggio distinto m ' tale che entrambi i messaggi abbiano lo stesso valore.
Le seconde pre-immagini sono più difficili perché l'attaccante non può scegliere entrambi i messaggi a piacimento. MD5 è molto rotto contro le collisioni (le collisioni possono essere generate in meno di un secondo) ma non contro le seconde pre-immagini. Per questo, l'attacco più noto è un attacco di preimage generico che è solo teorico, poiché è costato 2 123.4 , cioè molto più in alto di ciò che può essere fatto nella pratica.
Quindi la risposta non corretta alla tua domanda specifica è: non può essere fatto (con la tecnologia esistente e gli attacchi noti su MD5).
(Sono qui a parlare solo di trovare un secondo preimage su MD5, non sulla sicurezza dell'utilizzo di MD5 (salt + data) in un contesto specifico, se "sale" e "data" sono noti o meno. chiunque utilizzi MD5 (salt + data) richiede effettivamente una funzione di hashing della password o HMAC.)