Md5 per VBA

DrSoong

Iss was, Doc!
ist im Prinzip einfach, du lädst deine Datei einfach in einen String rein:
Visual Basic:
Dim iFile As Integer, sDatei As String, sName As String
sName = "C:\DeinDatei.exe" 'Hier den Namen deiner Datei rein
iFile = FreeFile 'Nächste freie Dateinummer
sDatei = Space(FileLen(sName)) 'Platz festlegen
Open sName For Binary As iFile 'Datei binär öffnen
 Get #iFile, , sDatei 'und auslesen
Close iFile
Hash = MD5_string(sDatei) 'Hash erzeugen


Der Doc!
 

melodoi

Grünschnabel
Ich habe mich einen ganzen Tag mit dem Thema md5 beschäftigt. Das ist die erste Lösung die funktioniert und richtig rechnet

Danke an den Doktor!

Gruß Sylvio
 

Pitsan

Grünschnabel
Hallo,

ich bin noch neu hier,

... und habe auch ein paar Fragen, bei denen ich Hilfe brauchen könnte.

Ich wolte gerade deine Variante ausprobieren :

- Md5.bas ins Projekt importiert
- Neue Form erstellt
- Eine TextBox1
- Ein CommandButton1
- Ein Label1

Code:
Private Sub CommandButton1_Click()
Label1.Caption = MD5_string(TextBox1)
End Sub



Mit dem Ergebniss :


" Fehler beim Kompilieren: Variable nicht definiert "

Code:
.....
    state(3) = &H10325476
    index = 0
    For i = 0 To nBlks - 1
        Call md5_transform(state, abMessage, index)
        index = index + MD5_BLK_LEN
        pPercent = Int(i / (nBlks - 1) * 60)
-->        frmMain.pb1.value = 40 + pPercent
    Next
    partLen = mLen Mod MD5_BLK_LEN
    index = nBlks * MD5_BLK_LEN
    For i = 0 To partLen - 1
.....


hab ich irgendwas vergessen ?
... Die Fehlermeldung habe ich auch bekommen, weiss jemand was geändert wurde, damit der Code arbeitet?

Vielen Dank im Voraus

Pitsan
 

DrSoong

Iss was, Doc!
Wenn du den Thread weiter gelesen hast wirst du bemerkt haben, dass ich eine Progressbar eingebaut hatte und diese Zeile leider aus Versehen drinnen geblieben ist. Lösch sie einfach raus (kA ob noch eine weitere drinnen ist - prüf den Code einfach nach frmMain.pb1) und das ganze funktioniert.


Der Doc!
 

eckart

Grünschnabel
Auch nach nunmehr fast 4 vollen Jahren: Gesucht, gefunden und für gut befunden.

Danke Doc.

(sorry, normal hole ich so alte Threads nimmer hoch - aber der Post vom Doc löste grad so genial einfach mein Problem)
 

Emily12

Grünschnabel
Hallo, ich hole den Thread auch nochmal hoch.
Ich muss in einer CSV-Datei mit Adressen eine Spalte mit MD5 umwandeln, damit der Import funktioniert. Ich habe von allem, was hier steht Null Ahnung. Dennoch habe ich es geschaft, den Code einzubinden. Allerdings mit dieser Progressbar, die zum Fehler führt.
Wie man etwas auskommentiert habe ich auch herausgefunden.
Nun weiß ich nur nicht, welchen Bereich ich da auskommentieren muss. Meine Versuche bisher sind nicht geglückt.

Könnte mir jemand die Zeilen posten, die auskommentiert werden müssen?
LG Emily
 

Yaslaw

n/a
Moderator
Du hast den Code übernommen und irgendwie angepasst.
Zeig doch mal was du hast und wo der Fehler auftritt.
Um das herauszufinden gibt es ganz viele Anleitungen zum Thema Debug unter VBA
 

Emily12

Grünschnabel
Hallo,
ich hatte am Wochenende die o.g. Meldung zum Kompilieren. Den Code aus der txt habe ich unverändert verwendet. Im weiteren verlauf steht, dass diese Progressbar auskomentiert werden muss. Daran scheitere ich nun. Denn dann scheint das Ganze ja zu funktionieren.

Ich wollte es eben nochmal nachstellen und bin wie folgt vorgegangen:

Alt F11
Einfügen -> Modul
Inhalt der txt hineinkopiert
gespeichert als csv Trennzeichen getrennt

im Arbeitsblatt folgendes in eine Zelle geschrieben: =MD5_string(c4)
(in c4 steht das Wort das umgewandelt werden soll)

es erscheint #NAME?

Die andere Fehlermeldung erhalte ich nun nicht mehr....

LG

PS: Ich habe schon über eine Woche das Web nach Anleitungen durchsucht. Aber ich finde überhaupt nichts, was ich annähernd verstehen würde. Mir fehlen da einfach die Kenntnisse. Dieser Beitrag erschien mir wenigstens halbwegs umsetzbar.
 

Emily12

Grünschnabel
md5.jpg


die Meldung kam nun von selbst...
 

Yaslaw

n/a
Moderator
Du hast ein Modul hineinkopiert, das zum Importieren gedacht gewesen wäre.
Die Erste Zeile ist eine Versteckte Zeile des Moduls, dass den Modulnamen angibt.
Dein Code hat jetzt eigentlich 2 solche Zeilen. In der ersten steht Modul1 als vb_name. Diese siehtst du nicht was richtig ist. Die Zweite ist mit MD5 als vb_name. Diese kommt vom kopieren. Diese Zeile kannst du löschen. Dann sollte mindestens dieser Fehler weg sein
 

Neue Beiträge