![]() |
AW: Frage zu DEC Hash "Tiger"
So gerade erst wieder hier gelesen
Also zunächst einmal geht es bei mir weder mit der 5.1 noch mit der 5.2, welche zunächst Verwendung gefunden hatte. Weiterhin geht es ja nicht nur mit CalcBuffer, sondern auch mit CalcBinary nicht. Klar könnte ich versuchen etwas zu basteln, entsprechend Schokohase und: "Wundert mich nicht" Mich hingegen wundert jetzt zunächst, das es bei KodeZwerg funktioniert und bei mir nicht. Wenn es bei einem funktioniert, sollte es doch auch bei allen anderen funktionieren, oder etwas nicht? Ich nehme mal stark an, dass keiner der hier Schreibenden noch mit Delphi 7 werkelt? Vlt. liegts ja daran und ich sollte versuchen eine 30 Tage Testversion eines neueren Delphis zu bekommen und damit mal testen. Zumindest hat bislang niemand moniert, dass mein Code-Schnipsel falsch wäre |
AW: Frage zu DEC Hash "Tiger"
Ich habe die Hash's nicht mit DEC generiert, ich schrieb doch davor das ich DEC nicht installiert habe.
|
AW: Frage zu DEC Hash "Tiger"
Zitat:
Und jetzt? Ok, dann eben ganz offiziell: Dein Code-Schnipsel ist "falsch", bzw. er wird nicht das machen, was du erwartest. Den aktuellen Code-Schnipsel könntest du erheblich verkürzen auf:
Delphi-Quellcode:
Und würde exakt das gleiche machen wie dein jetziger Code.
var
aPlain: array[0..63] of byte; sTiger: string; begin sTiger := THash_Tiger.CalcBuffer(aPlain, 64, TFormat_HEX); end; |
AW: Frage zu DEC Hash "Tiger"
@itsme: Was ich Dir empfehlen würde wäre folgendes, Besuche
![]() ![]() edit Ps: Delphi 7 reicht aus dafür. |
AW: Frage zu DEC Hash "Tiger"
Also ich würde es mal so probieren
Delphi-Quellcode:
PS:
var
Tiger: THash_Tiger; aPlain: array[0..63] of byte; sTiger: string; begin Tiger := THash_Tiger.Create; try Tiger.Rounds := 5; Tiger.Init; Tiger.Calc(aPlain, 64); Tiger.Done; sTiger := Tiger.DigestStr(TFormat_HEX); finally Tiger.Free; end; end; Wenn man sich fragt "Wie kommt der darauf?", na durch einfaches Abschreiben:
Delphi-Quellcode:
class function TDECHash.CalcBuffer(const Buffer; BufferSize: Integer; Format: TDECFormatClass): Binary;
begin with Create do try Init; Calc(Buffer, BufferSize); Done; Result := DigestStr(Format); finally Free; end; end; |
AW: Frage zu DEC Hash "Tiger"
Wie ich bereits sagte, bin kein Profi, nehme daher gerne entsprechende Hinweise an
Aus Fehlern kann man nur lernen, bin daher ja auch dankbar für die Hilfe hier Habe vorher gerade einmal die entsprechenden *.pas in das Projekt kopiert um debuggen zu können Ich bezweifele nicht, dass es so geht wie bereits vorher angegeben, trotzdem kam mir zwischendurch der Gedanke, geht's überhaupt? Das erste was auffiel, eigentlich braucht man kein Init vor CalcBinary, da CalcBinary respektive CalcBuffer es intern aufruft Damit hier niemand glaubt, ich würde selbst nix dafür tun und nur auf Lösungen von euch warten... :pale: Der Ablauf der Aufrufe ist wohl lt. Debugger folgender: CalcBinary => CalcBuffer => Init => DoInit => SetRounds(FRounds) und FRounds ist 0 daher immer 3 Runden So kann es mit meinem Code niemals gehen, ich werde immer bei 0 und 3 Runden landen Was das DCP betrifft, das habe ich auch auf der Platte gefunden, allerdings noch nie benutzt Habe gerade mal in die HTML der Hilfe geschaut, da gibt es doch eigentlich keine Möglichkeit die Anzahl der Runden zu variieren? Scheinbar würde ich auch damit nichts auf die Reihe bekommen... Ich teste jetzt mal und melde mich dann nochmals abschließend |
AW: Frage zu DEC Hash "Tiger"
Ok es funktioniert mit dem Code, den Schokohase gepostet hat, bis auf den Doppeltiger :thumb:
Wieder etwas dazu gelernt! Also vielen Dank an alle, die hier ihr knowhow mit mir geteilt haben. Hoffentlich muss ich wieder so lange nichts fragen, es ist einem schon ein wenig mulmig zu Mute, wenn man sich vorstellt, wie die ganzen Profis die Augen verdrehen. :lol: |
AW: Frage zu DEC Hash "Tiger"
DEC hat derzeit kein offizielles Update ja, aber es gibt einen aktiven Entwicklungszweig und wenn ich mich richtig erinnere ist da das Tiger Rounds Problem schon behoben.
Grüße TurboMagic |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 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 by Thomas Breitkreuz