Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
5. Mär 2009
och, so schwer ist das eigentlich nicht ... man muß nur den Speicherbereich vorher resservieren, da dieses nicht von BinToHex übernommen wird. (in Delphi läßt es sich ja sonst sehr leicht mit strings umgehen ... man muß sich um fast nix kümmern :angel: )
einzeln geht es übrigens auch ... läßt sich am Einfachsten über eine Temp-Variable (hier S) lösen
SetLength(S, SizeOf(LongWord) * 2);...
Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
4. Mär 2009
Machen wir es einfach mal kurz ... wie ich schon sagt ... in meinem anderem Code (siehe irgendwo verlinkter Thread), hab ich alles auf einmal umcodiert :stupid:
Mach mal aus h0, h1, h2, h3: longword; ein a: array of longword; und verwende dann über alles ein BinToHex.
Im Code dann statt h0 einfach h verwenden.
SetLength(Result, SizeOf(h) * 2);
BinToHex(@h, PChar(Result), SizeOf(h));...
Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
3. Mär 2009
ich hab's mal etwas zerlegt
Result :=
Format('%.2x%.2x%.2x%.2x', )
+ Format('%.2x%.2x%.2x%.2x', )
+ Format('%.2x%.2x%.2x%.2x', )
+ Format('%.2x%.2x%.2x%.2x', );
Result :=
Format('%.2x%.2x%.2x%.2x', )
+ Format('%.2x%.2x%.2x%.2x', )
+ Format('%.2x%.2x%.2x%.2x', )
Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
3. Mär 2009
konnte jetzt nicht testen, ob's so geht, aber einige Fehler hab ich schonmal gefunden.
deine Zeilen auskommentiert, dann 'ne kleine Beschreibung dazu und darunter direkt den Fehler behoben
function TMD5.Crypt(text: string):string;
var
r: array of longword;
k: array of longword;
i, x, y: longword;
a, b, c, d: longword;
Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
1. Mär 2009
jupp, in dem Beispiel ist ja von 0 und 1 als Bit die Rede, wenn man das ganze jetzt auf ganze Bytes hochrechnet, dann muß man hier indireckt einen Schritt vorziehen.
eine 1 anhängen und danach gleich noch 7 mal eine 0 ergibt binär ein Byte mit b10000000, was hexadezimal der $80 entspricht, also dem Char #128 bzw. #$80.
und danach kann man dann weiterhin soviele 0 in 8-er-Grüppchen anhängen,...
Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
1. Mär 2009
ich glaub du hast Recht :wall:,
hab's geändert
Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
1. Mär 2009
Wie sieht es denn bei dir inzwischen aus? (deine Code-Übersetzung)
hatte es selbst grad mal versucht und dachte erst ":shock: des rechnet doch falsch", verglichen mit einem der PHP-MD5-Generatoren im INet ...
Doch hatte ganz vergessen, daß Windows nicht Big-Endian ist, sondern Little-Endian und man daher das Ergebnis umdrehn muß, da die MD5-Strings in Big-Endian ausgegeben werden....
Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
27. Feb 2009
64 > Int64 > die Länge der in dem MD5 verechneten Daten.
128 > der MD5-Wert
Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
27. Feb 2009
Indem du die Längen-Variable nimmst und binär hinten dranrechnest.
Wie du das genau bei dir machen mußt wissen wir nicht, da wir nicht wissen wie dein Code aussieht.