Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1728to1732
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Hash-Wert einer Datei

Hash-Wert einer Datei
11.12.2019 09:28:36
Sven
Moin Leute,
kennt Ihr eine Möglichkeit, eine Art Hash-Wert einer Datei zu ermitteln?
Hintergrund: Ich habe ein Makro, welches eine Access-Datei kopiert und als Backup weglegt. In diesem Vorgang würde ich gerne einen Wert ermitteln, durch den ich beim späteren Einspielen des Backups sichergehen kann, dass es sich um die richtige Datei handelt.
Eine Alternative wäre vielleicht, einen Wert in die Eigenschaften der wegzulegende Access-Datei zu schreiben und diesen beim Wiederverwenden zu prüfen...
Danke und Grüße
Sven

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: z.B. PS
11.12.2019 09:34:27
Fennek
Hallo,
es dürfte viele tools geben, eine recht einfach zu handhaben ist

PS C:\Users\xxxx> get-filehash C:\Temp\crypto.txt
Algorithm       Hash                                                                   Path      _
---------       ----                                                                   ----      _
SHA256          28D947E36CC7929CD85201A6194456E5308AB71CABA6910793B370C075938AB5       C:\Temp\ _
crypto.txt
also Powershell.
mfg
AW: z.B. PS
11.12.2019 09:54:42
Sven
Hallo Fennek,
wie kann ich das aus VBA heraus aufrufen?
AW: VBA oder PS
11.12.2019 10:42:16
Fennek
Hallo,
am einfachsten ist die Powershell-Console zu öffnen (Win10: rechts-klick auf Win-Symbol) und dort den Befehl eintippen und das Ergebnis mit copy/paste übertragen.
Oder den Code in eine *.ps1 Datei speichern und in VBA mit "Shell" aufrufen.
Oder diesen VBA-Code versuchen:

'https://stackoverflow.com/questions/36328530/how-to-generate-md5-hashes-for-large-files-with- _
vba
Public Function ComputeMD5(byval filepath As String) As String
Dim svc As Object, md5$, offset&, length&, i&, hFile
Dim hash() As Byte, block(0 To 31743) As Byte
' open the file
hFile = FreeFile
Open filepath For Binary Access Read As hFile Len = 31744
length = LOF(hFile)
' create the service
Set svc = CreateObject("System.Security.Cryptography.MD5CryptoServiceProvider")
' compute each block
For i = 1 To length \ 31744
Get hFile, offset + 1, block
offset = offset + svc.TransformBlock(block, 0, 31744, block, 0)
Next
' compute the final block
If length - offset Then Get hFile, offset + 1, block
svc.TransformFinalBlock block, 0, length - offset
hash = svc.hash
' free the file and the service
svc.Clear
Close hFile
' convert to an hexa string
md5 = String(32, "0")
For i = 0 To 15
Mid$(md5, i * 2 + (hash(i) > 15) + 2) = Hex(hash(i))
Next
' return the md5
ComputeMD5 = UCase(md5)
End Function
mfg
Anzeige
AW: VBA oder PS
11.12.2019 11:24:01
Sven
Super, der Code funktionier 1a!
Das der MD5-String stimmt, muss ich (mangels Konsole) einfach mal so glauben. Er verändert sich zumindest, wenn ich die Datei bearbeite.
Danke!

8 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige