![]() |
Hashverfahren
Hi
ich wollt ma fragen wie Hashverfahren funktionieren... beziehen die wirklich jedes einzelne Byte in die Berechnung mit ein? wie rechnen die überhaupt damit? also ich hab mir selbst mal ein einfaches gebastelt...in wieweit ist das typisch für vorhandene Algos? oder wie funktioniert zum beispiel MD5?
Delphi-Quellcode:
function Hash(FileName: TFileName):String;
var FS: TFileStream; i, Sum: Int64; Buf: Byte; begin i:=0; Sum:=0; FS:=Nil; try FS:=TFileStream.Create(FileName,fmOpenRead or fmShareExclusive); Status.Max:=FS.Size div 1024; repeat FS.Read(Buf,1); FS.Position:=FS.Position+1023; inc(i); Sum:=Sum+Buf*i; Sum:=Sum Mod 4294967295; until FS.Position>=FS.Size; Sum:=Sum*FS.Size; finally FS.Free; Result:=IntToStr(Sum); end; end; |
Re: Hashverfahren
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab mal den "interessanten" Teil des Dokumentes zu SHA-1 angehängt. Ich hoffe dann wird's klar.
/edit: ![]() |
DP-Maintenance
Dieses Thema wurde von "alcaeus" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Ich schiebs mal nach Sonstiges, es geht ja um Delphi ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz