15.06.12
PHP: Einen Hash-Wert eines beliebigen Objektes erzeugen.
Will man, um die Integrität sicherzustellen, einen Hash von einem Objekt in PHP erzeugen kann man die PHP eigene Funktion spl_object_hash verwenden. ein Nachteil ist jedoch, dass sie nicht für alle Objekte einen Hash-Wert erzeugen kann. Beispielsweise bei Arrays verweigert sie den Dienst. Mit folgender Methode lässt sich von jedem Objekt ein Hash-Wert erzeugen (ausgenommen Ressourcen):
function hashObject($obj) {
$obj = json_encode($obj);
return md5($obj);
}
Dem aufmerksamen Betrachter wird sofort auffallen, dass hier MD5 zum Einsatz kommt. Dies geschieht prinzipiell aus Gründen der Performance. Möchte man diese Methode jedoch nicht nur verwenden um die Integrität von Daten zu überprüfen, sondern setzt sie in einem sicherheitsrelevanten Bezug ein, sollte MD5 dringend gegen eine sichere Hash-Funktion wie z.B. SHA2 ersetzt werden. Dies könnte dann wie folgt aussehen:
function hashObjectSecure($obj) {
$obj = json_encode($obj);
return hash('sha512', $obj);
}
Das könnte Sie auch interessieren:
- PHP: RSS Feed Reader in 10 Minuten
- PHP Incomplete Class – Kleine Ursache große Wirkung
- Error at offset x of y bytes – Objekte sicher serialisieren und speichern
- PHP: Alle Fehlermeldungen anzeigen
- PHP Memcache Server einrichten
Von: admin Tags: php, Web
Sag deine Meinung
Die E-Mail Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.
Suche
Spannende Themen
Bleibe auf dem Laufenden