PHP Hashes Kollision, Probleme und Fehler bei Validierung

Der md5-hash sollte bei Kollisionsprüfung immer mit === statt == verglichen werden. Grund hierfür ist die von User unbeabsichtige Typenkonvertierung, Aufgrund der schwachen Typisierung nimmt PHP Hashwerte mit 0e und einer zahl als Exponentialschreibweise war und rechnet im Ergebnis immer 0 aus.

    if (md5('240610708') == md5('QNKCDZO'))
    {
        echo "Kollision";
    }

    var_dump(md5('240610708')); //string(32) "0e462097431906509019562988736854"
    var_dump(md5('QNKCDZO'));   //string(32) "0e830400451993494058024219903391"