Wir stellen vor: der /file/hash-Robot für Dateiintegrität
Es ist wieder einmal Zeit, einen neuen Robot in der Transloadit-Familie willkommen zu heißen. Sagen Sie Hallo zum Robot /file/hash. Mit seiner Einführung lässt sich nun jede Datei hashen, die Teil der Ausführung Ihrer Assembly ist. Das ist besonders nützlich, um die Integrität Ihrer Datei zu überprüfen.
Zudem stehen Ihnen mehrere Algorithmen zur Auswahl, ob Sie nun den schnellen MD5-Algorithmus nutzen möchten oder eine sicherere Option wie SHA-512.
Nachdem der Robot Ihre Datei gehasht hat, speichert er den Hash der Datei unter
der Eigenschaft file.meta.hash, damit Sie in späteren Steps darauf zugreifen können.

Datei-Hashing in der Praxis
Sehen wir uns als Beispiel an, wie ein Template aussehen könnte, mit dem wir prüfen wollen, ob sich eine Datei nach einer Größenänderung geändert hat. Zuerst nehmen wir unsere hochgeladene Datei und hashen sie. Anschließend ändern wir die Größe der Originaldatei und hashen sie erneut. Vergleichen Sie einfach den Hash des in der Größe geänderten Bildes mit dem des ursprünglich gehashten Bildes. Unterscheiden sie sich, wissen wir, dass unsere Datei in der Größe geändert wurde.
So sieht das aus:
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"resize_image": {
"use": ":original",
"robot": "/image/resize",
"height": 500,
"imagemagick_stack": "{{stacks.imagemagick.recommended_version}}",
"resize_strategy": "fit"
},
"hash_original": {
"use": ":original",
"robot": "/file/hash",
"result": true,
"algorithm": "sha1"
},
"hash_resized": {
"use": "resize_image",
"robot": "/file/hash",
"result": true,
"algorithm": "sha1"
}
}
}
Ist Ihnen aufgefallen, dass wir den Algorithmus sha1 verwenden? Sie können den Parameter algorithm ganz
einfach auf eine der folgenden Optionen ändern, um Hashes mit verschiedenen Algorithmen für
unterschiedliche Anwendungsfälle zu erzeugen.
b2md5sha1sha224sha256sha384sha512
Testen
Nun stellen wir unser Template auf die Probe. Laden Sie ein Bild hoch und sehen Sie sich den Hash an, der für die Datei erzeugt wird, und ob er sich im Verlauf unserer Steps ändert.
hash_files
meta.hash:924eb08378f97f1fe2744b77a79373078af3487cresize_image
meta.hash:c51c917811c2b3a515c303b682c610224aa77621Wie erwartet unterscheiden sich die Hashes, die für unsere beiden Dateien erzeugt wurden. Das bedeutet, dass unser Bild in der Größe geändert wurde.
Bis zum nächsten Mal
Damit endet unsere Kurztour durch den Robot /file/hash. Melden Sie sich unten bei Transloadit an und probieren Sie den Robot selbst aus, ebenso wie unsere Vielzahl weiterer Robots.
