Würden bei der Verwendung von Crypto-Hashfunktionen immer nur (aktuell) sichere empfohlen werden, könnte eine hypothetische Situation in der hmm in Zukunft einen sicheren Hash bräuchte, sich daran erinnert, dass er ein für ihn ähnlich aussehendes Problem schon Code hat und diesen dann wiederverwendet, vermieden werden.
Dein Wunsch bleibt weiterhin ein Widerspruch in sich. Was machst du denn, wenn er sich in Zukunft an den heute als sicher angesehenen Mechanismus erinnert, der es dann aber nicht mehr ist?
In einer wirklich guten Antwort hätte ich ihn darauf hingewiesen, dass er informiert bleiben muss, wie die Crypto-Analyse des gewählten Algorithmus sich entwickelt. Zumindest habe ich aber kein zum Zeitpunkt der Antwort als teilweise gefährliche bekanntes Werkzeug empfohlen.
Ich halte es für gefährlich jemandem einen teilweise defekten Algorithmus in die Hand zu drücken und darauf zu vertrauen, dass derjenige in Zukunft immer darüber nachdenken wird, bevor er ihn für einen anderen Zweck verwendet, vorallem wenn Alternativen existieren, die keine (aktuellen) Nachteile bieten.
Du nimmst also an, jemandem zu antworten, der nicht nachdenken möchte.
Nachdenken ist anstrengend und als fauler Mensch vermeide ich Anstrengung und ich projeziere, dass es anderen genauso geht.
Du drückst ihm zwar keinen aktuell als gebrochen angesehenen Mechanismus in die Hand, dafür aber einen, für den das lediglich noch nicht passiert ist. Ist das nicht genauso gefährlich?
Aus meiner Sicht nein, erstens kann prinzipbedingt ich keine 100-prozentige Sicherheit bieten und zweitens ist ein bekannt teilweise gebrochener Mechanismus etwas deutlich anderes als ein Mechanismus, bei dem nach aktuellem Stand der Forschung keine Fehler bekannt sind.
Ich wollte mit dem zitierten Satz also darauf hinaus, dass immer auf md5/sha1 zu verzichten immer sicher ist, wohingegen die Alternative mehr Denk- und Informationsaufwand benötigt und deshalb gefährlicher ist.
Der Aufwand bleibt auch in Zukunft bestehen.
Es ist aber ein kleinerer Aufwand: Statt verstehen zu müssen, welcher spezifische Angriff auf MD5/SHA1 funktioniert und welche Anwendungszwecke deshalb nicht mehr bzw noch ok sind, muss ich mir nur merken, SHA1 nicht mehr zu verwenden; und wenn für SHA2 und/oder Alternativen Angriffe existieren, füge ich diese halt der Liste hinzu. Sollten wir irgendwann in der Situation sein, dass keine unproblematischen Alternativen existieren, wäre diese Abwägung vielleicht nötig, aber im Moment sehe ich einfach keinerlei Gründe die für die Verwendung von MD5/SHA1 sprechen.