Re: Mehrere Strings mit gleichem MD5 Wert
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab sowas auch mal gemacht - is aber schon einige Zeit her. Ebenfalls keine Ahnung, wie sicher es ist - ob es Kollissionen erzeugt kannst du ja ausprobieren :mrgreen:
Dust Signs |
Re: Mehrere Strings mit gleichem MD5 Wert
Wie meinst du das mit der Quersumme ?
Ach ja : Ich will das Programm ja (falls es nicht so gut wird wie ich es mir vorstelle^^) nicht verkaufen... Das Programm werden wahrscheinlich eh nur ein paar Freunde von mir benutzen :mrgreen: Das mit dem CD-Key soll halt nur etwas professionell aussehen und verhindern das einer mehr als ein Account in meinem Programm hat. |
Re: Mehrere Strings mit gleichem MD5 Wert
Quersumme(13) = 1 + 3 = 4
Quersumme(123143522) = 1 + 2 + 3 + 1 + 4 + 3 + 5 + 2 + 2 = 23 |
Re: Mehrere Strings mit gleichem MD5 Wert
nehmen wir an du hast nen string "ABCDEFG" dann addiert du alle ordinalwerte von den ascizeichen zusammen
Delphi-Quellcode:
dann muss halt qs immer z.b. 1360 sein
var i, qs: integer;
begin qs := 0; for i := 1 to lenght(s) do qs := qs+ord(s[i]); end; oder du nimmst ne zahl und prüfst ob die durch ne primzahl dividiert werden kann
Delphi-Quellcode:
var i: integer;
begin i := strtointdef(edit1.text,0); if i <> 0 then begin if i mod 1337 = 0 then //gültig end; end; |
Re: Mehrere Strings mit gleichem MD5 Wert
@ brechi : danke ich glaube das reicht für mich.
@ barf00s : Ich weiß schon was normalerweiße eine Quersumme ist (Sollte man mit 16 wissen ;)) Aber da man von Strings normalerweiße keine Quersumme erstellen kann hab ich gefragt wie das mit Strings gehen soll. |
Re: Mehrere Strings mit gleichem MD5 Wert
Ich hab mir jetzt eine Function gebaut die CD-Keys generieren soll aber es funktioniert nicht richtig -.-
Delphi-Quellcode:
mit der Function check ich die Keys :
function CreateKey : String;
var qs : Integer; r : Integer; s : String; begin qs := 0; repeat r := random(25)+65; s := s+ Chr(r); // Zufälligen buchstaben hinzufügen qs := qs + r; // der Quersumme hinzufügen if qs + 65 > 974 then begin // falls Kein "A" mehr reinpasst qs := qs - r; // Quersumme eins zurücksetzten delete(s,length(s)-1,1); // String auch den letzten buchstaben löschen s := s + chr(975-qs); // und den buchstaben hinzufügen das es passt qs := qs + (975-qs); // und das auch zur Quersumme hinzufügen end; until qs = 975; Result := s; end;
Delphi-Quellcode:
so gehts in der praxis
function IsRight(S : String) : Boolean;
var i, qs: integer; begin qs := 0; for i := 1 to length(s) do begin qs := qs+ord(s[i]); end; if qs = 975 then Result := true else Result := false; end;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin Edit1.Text := CreateKey; end; procedure TForm1.Button2Click(Sender: TObject); begin if IsRight(Edit1.Text) then ShowMessage('Stimmt :)'); end; |
Re: Mehrere Strings mit gleichem MD5 Wert
Was genau funktioniert denn nicht ?
|
Re: Mehrere Strings mit gleichem MD5 Wert
Ach so hups hab ich ganz vergessen ^^
Also die Strings haben nicht alle die gleiche Quersumme -.- sie werden zwar generiert aber die Quersumme ist irgendwie immer verschieden. Nicht drastisch aber dennoch verschieden... |
Re: Mehrere Strings mit gleichem MD5 Wert
Schau mal:
Delphi-Quellcode:
if qs + 65 > 974 then begin // müsste es nicht > 975 heißen ??
delete(s,length(s)-1,1); // sicher, dass du den vorletzten Buchstaben löschen möchtest ? |
Re: Mehrere Strings mit gleichem MD5 Wert
Lol Thx... Da ist bei mir irgendwie ein Fehler in der Logik :mrgreen:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz