Forum: Algorithmen, Datenstrukturen und Klassendesign
by Weeze14,
22. Jun 2014
Ich glaube ich werde das niemals hinbekommen ;) (Danke Sir Rufo, deine Schläge auf den Hinterkopf haben geholfen). Einen String hashen, funktioniert nun sowohl mit 32-, als auch mit 64-Bit und die Resultate sind identisch.
Jedoch will das Erzeugen eines Hashs für eine Datei noch immer nicht (unterschiedliche resultate 32-Bit <> 64-bit):
function MD5File(const s: string): string;
var
MD5:...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Weeze14,
22. Jun 2014
Die Eingabedaten sind nur ein Teststring (const s: String = 'Test'; ) und der ist immer gleich.
Sehr misteriös denke ich.
Demnach ist diese Funktion also sehr schlecht nehme ich an. Denn Angenommen ich übergebe "Tèst", dann ist das Ergebnis wieder falsch, da man den Encoding ja angeben muss.
Gibt es denn sinnvolle Alternativen?
Edit:
bisher habe ich zum Vergleichen den hash-Generator...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Weeze14,
21. Jun 2014
Mhh.. ich dachte der holt sich die Kodierung automatisch - falsch gedacht.
Füge ich nun aber TEncoding.ANSI als kodierung hinzu, ist der Hash mit 32-Bit korrekt, nicht aber mit 64-Bit :roll:
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Weeze14,
21. Jun 2014
Hier kann nicht viel schieflaufen denke ich:
uses
SysUtils, IdHashMessageDigest, IdHash;
function MD5String(const Input: String): String;
var
MD5: TIdHashMessageDigest5;
begin
MD5 := TIdHashMessageDigest5.Create;