Vorstellung: der Robot /file/hash für Dateiintegrität
Es ist wieder Zeit, einen neuen Robot in der Transloadit-Familie zu begrüßen. Lernen Sie den Robot /file/hash kennen. Mit seiner Einführung können Sie jetzt jede Datei hashen, die bei der Ausführung Ihrer Assembly verarbeitet wird. Das ist besonders hilfreich, um die Integrität Ihrer Datei zu überprüfen.
Dabei stehen Ihnen mehrere Algorithmen zur Auswahl, etwa der schnelle MD5-Algorithmus oder eine sicherere Option wie SHA-512.
Nachdem der Robot Ihre Datei gehasht hat, speichert er ihren
Hash in 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, ob sich eine Datei nach einer Größenänderung verändert hat. Zuerst hashen wir die hochgeladene Datei. Dann ändern wir die Größe der Originaldatei und hashen sie erneut. Vergleichen Sie einfach den Hash des Bildes nach der Größenänderung mit dem Hash des Originalbildes. Unterscheiden sie sich, wissen wir, dass sich die Bytes der Datei geändert haben; der Hash allein beweist nicht, dass eine Größenänderung stattgefunden hat.
So sieht das aus:
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"resize_image": {
"use": ":original",
"robot": "/image/resize",
"height": 500,
"imagemagick_stack": "v3.0.1",
"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"
}
}
}
Sehen Sie, wie wir den Algorithmus sha1 verwenden? Sie können den Parameter
algorithm ganz einfach auf eine der folgenden Optionen setzen, um Hashes mit
verschiedenen Algorithmen für unterschiedliche Anwendungsfälle zu erzeugen.
b2md5sha1sha224sha256sha384sha512
Testen
Jetzt testen wir unser Template gründlich. Laden Sie ein Bild hoch und sehen Sie sich an, welcher Hash für die Datei erzeugt wird und ob er sich im Verlauf unserer Steps ändert.
hash_original
meta.hash:924eb08378f97f1fe2744b77a79373078af3487chash_resized
meta.hash:c51c917811c2b3a515c303b682c610224aa77621Wie erwartet unterscheiden sich die Hashes unserer beiden Dateien. Das bedeutet, dass ihre Bytes unterschiedlich sind. Die Größenänderung geht aus unserem Ablauf hervor, nicht allein aus den Hashes.
Bis zum nächsten Mal
Damit endet unsere kurze Einführung in den Robot /file/hash. Registrieren Sie sich unten bei Transloadit und probieren Sie den Robot selbst aus, ebenso wie unsere Auswahl weiterer Robots.
