Pokud pro jeden hash máte dvě kolize (dva různé vstupy), ještě to není takový problém. Problém pro hashovací funkci je hlavně to, když pro daný hash dokážete generovat libovolný počet vstupů. Například když budete mít v PDF souboru fakturu a ten soubor bude elektronicky podepsaný, asi vám nebude moc vadit, když někdo najde jeden jiný soubor, který povede na stejný hash – protože ten jiný soubor s vysokou pravděpodobností nebude mít žádný rozumný formát, bude to prostě jen náhodná změť znaků. Pokud ale někdo umí ten PDF soubor vzít, doplnit k částce zprava tři nuly, na nějaké nezajímavé místo v něm schovat „náhodné“ znaky a ty vybrat tak, aby mu hash souboru zase seděl, máte problém.
MD5 je už určitě prolomena tím druhým způsobem, tj. k danému hashi je možné vygenerovat na přání libovolný počet kolizí. A SHA-1 je jen o kousek pozadu, ale myslím, že už praktické útoky také existují. Takže ten váš postup bezpečnost nijak zásadně nezvyšuje. Funguje to podobně, jako kdybyste hash udělal třeba tak, že uděláte MD5 hash dokumentu, pak k dokumentu připojíte nulový bajt a znovu spočítáte MD5 hash, a spojíte tyhle dva hashe. Útočníkovi tím sice poněkud ztížíte práci, ale je to ztížení nepodstatné – útok mu bude trvat třeba dvakrát nebo desetkrát nebo klidně i tisíckrát déle. Jenže to je málo, vy mu útok potřebujete zkomplikovat ne násobky, ale mocninami.
Smysl by to mělo někde, kde na tom hashi zas tak moc nezáleží, třeba při přenosu souborů. Jenže proč to dělat, když tady už dlouho máme SHA-2, která je zatím bezpečná? A matematici jsou zatím docela napřed, takže se momentálně nemusíme bát, že bychom neměli k dispozici dostatečně silný hashovací algoritmus a bylo nutné se uchylovat k takovýmhle pseudořešením, o kterých nic nevíme.