Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Serials erstellen (https://www.delphipraxis.net/42182-serials-erstellen.html)

Pseudemys Nelsoni 15. Mär 2005 10:26


Serials erstellen
 
Moin,

jemand eine Idee wie ich aus einem Wort, z.B "blah" einen Hash oder sowas ähnliches erzeugen könnte?
Natürlich muss es was eigenes sein, wenn ich z.B MD5 benutzen würde, würde das ganze ja gar keinen Sinn machen, da jeder die passende "Serial" eines Wortes rauskriegen würde.

Hoffe ihr wisst was ich damit meine ;)

himitsu 15. Mär 2005 10:46

Re: Serials erstellen
 
Also, wenn wir dir helfen, dann weiß es ja auch wiederum jeder :zwinker:

Aber du kannst dir ja mal einige Hash-Verfahren anschauen und dann selber etwas entwicklen...


PS: ich hab mir mal was genacht, was 'nen MD5-Jash erstellt und diesen dann weiterverarbeitet, so kommt dann auch etwas anderes raus ^^

PS2: du kannst natürlich auch einfach nur die im MD5 enthaltene Hashtabelle (also deren Werte) verändern, dann hat die MD5-Funktion natürlich auch ein anderes Ergebnis.

shmia 15. Mär 2005 11:18

Re: Serials erstellen
 
Zitat:

Zitat von Pseudemys Nelsoni
jemand eine Idee wie ich aus einem Wort, z.B "blah" einen Hash oder sowas ähnliches erzeugen könnte?
Natürlich muss es was eigenes sein, wenn ich z.B MD5 benutzen würde, würde das ganze ja gar keinen Sinn machen, da jeder die passende "Serial" eines Wortes rauskriegen würde.
Hoffe ihr wisst was ich damit meine ;)

Das stimmt so nicht.
Wenn du einen MD5 Hashwert kennst, dann kannst du nicht rückwärts auf den Ausgangswert zurückrechnen.
Es ist eine Einbahnstrasse. (es gäbe da noch die Bruteforce Methode, aber das kannst du wohl vergessen)
Neben MD5 gibt es noch andere Algorythmen, z.B. RIPEMD-160
http://de.wikipedia.org/wiki/RIPEMD-160

Pseudemys Nelsoni 15. Mär 2005 11:24

Re: Serials erstellen
 
moin himitsu,

jo das ihr das dann wüsstest ist klar ;) aber ich bräuchte nur ein paar tips ;)

@shmia: Das das Einbahnstrasse ist weiss ich ;) Ich glaub ich hab nicht richtig erklärt was ich meine....

Also.... Sagen wir mal mein Programm hat ein "Register"-Dialog, dort muss man "Benutzer" eingeben "<Wert der sich aus "Benutzer" ergibt>".

Letzteres wäre blödsinn wenn das ein md5 hash wäre, da jeder "Benutzer" in MD5 umwandeln kann und dort eintragen könnte. Ich brauch wie gesagt was eigenes. Es geht ja darum das nur ICH diesem user diesen Key geben können soll.

Danke für die Antworten bis jetzt ;)

sakura 15. Mär 2005 11:27

Re: Serials erstellen
 
Zitat:

Zitat von Pseudemys Nelsoni
Letzteres wäre blödsinn wenn das ein md5 hash wäre, da jeder "Benutzer" in MD5 umwandeln kann und dort eintragen könnte. Ich brauch wie gesagt was eigenes. Es geht ja darum das nur ICH diesem user diesen Key geben können soll.

Ich würde einen MD5 nehmen, allerdings zusätzlich einen geheimen konstanten Wert mit zum "blah" hinzufügen und über diesen neuen, gesamten String den MD5 generieren. Das ist wahrscheinlich ausreichend ;)

...:cat:...

Zerolith 15. Mär 2005 11:44

Re: Serials erstellen
 
Hallo!

ich möchte mich hier grad mit einmischen. Also ich finde das mit MD5 Unlogisch.

Normalerweiße ist es doch so, dass ich einen Key habe - diesen eingebe und dann wird dieser "weiter verarbeitet" und am schluss mit irgendwas verglichen - oder nicht? mit dem MD5 könnten dann der Schlüssel doch nur gehasht werden - und dass ein vergleich möglich ist müsste jeder den Selben Key haben?

oder täusch ich mich gerade vollens?


ich hab mich noch nicht wirklcih damit beschäftigt - aber so ausm stegreif würde ich folgenden Weg einschlagen.

Eingebener Key -> Eigene Weiterverarbeitung -> Quersumme errechnen -> Vergleichen

(jeder schritt kann natürlich etwas erweitert werden - oder z.B. die Quersumme von bestimmten teilen nehmen oder so)


aber erklärt mir mal - wie hättet ihr diese Md5 VAriante gemacht?

Gruß, Daniel

sakura 15. Mär 2005 11:50

Re: Serials erstellen
 
Zitat:

Zitat von Zerolith
und dass ein vergleich möglich ist müsste jeder den Selben Key haben?
oder täusch ich mich gerade vollens?

Wenn der Key z.B. über die registrierte Emailadresse erstellt werden würde, dann hätte jeder einen anderen.

...:cat:...

Zerolith 15. Mär 2005 11:53

Re: Serials erstellen
 
Überredet - soweit hab ich garnicht gedacht ;-)

Pseudemys Nelsoni 15. Mär 2005 11:55

Re: Serials erstellen
 
Danke, das is ne gute Idee ;)

himitsu 15. Mär 2005 11:57

Re: Serials erstellen
 
Und wenn sich dann noch etwas "gutes" am PC sinden würde (z.B. 'ne Hardware-Seriennummer, oder so) würde das dann auch nochmal den Key verändern, abr leider ist es "schwer" etwas am PC zu finden, was sich dafür verwenden läßt, da der PC ja auch mal aufgerüstet (oder ausgetauscht) werden könnte :(

jamma-markus 26. Mär 2005 15:03

Re: Serials erstellen
 
hallo,

kann man eigentlich mit delphi md5-verschlüsselte strings erzeugen, sodass ich z.b.: meinen namen eingebe und der das als md5-code ausgibt?

Sharky 26. Mär 2005 15:08

Re: Serials erstellen
 
Zitat:

Zitat von jamma-markus
hallo,

kann man eigentlich mit delphi md5-verschlüsselte strings erzeugen, sodass ich z.b.: meinen namen eingebe und der das als md5-code ausgibt?

Ja ;-)


In der Code-Library ist zum Beispiel etwas.
Ansonsten natürlich wie immer an dieser Stelle: Schaue Dir das DEC von Hagen an.

p.S.: md5 ist keine "Verschlüsselung" in diesem sinne.

[Edit]Habe den Link richtig gesetzt! Sorry :oops: Das kommt davon wenn man alles gleichzeitig macht.

mirage228 26. Mär 2005 15:11

Re: Serials erstellen
 
Zitat:

Zitat von Sharky
Zitat:

Zitat von jamma-markus
hallo,

kann man eigentlich mit delphi md5-verschlüsselte strings erzeugen, sodass ich z.b.: meinen namen eingebe und der das als md5-code ausgibt?

Ja ;-)


In der Code-Library ist zum Beispiel etwas.

Also irgendwie führt der Link wieder zu Deinem eigenen Post :mrgreen:

mfG
mirage228

Pseudemys Nelsoni 26. Mär 2005 15:12

Re: Serials erstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Mit dieser Unit gehts (Siehe Anhang)

jfheins 26. Mär 2005 15:12

Re: Serials erstellen
 
md5md5 :zwinker:

jamma-markus 27. Mär 2005 15:39

Re: Serials erstellen
 
hallo Pseudemys Nelsoni,

wie muss ich denn die pas-datei einbinden, damit ich beim click auf einen butten in einem label den codierten text aus einem edit-feld stehen habe?

Pseudemys Nelsoni 28. Mär 2005 10:09

Re: Serials erstellen
 
hallo jamma-markus,

erstmal bindest du die datei bei uses ein. Sagen wir mal "S" ist eine string variable und du möchtest das wort "hallo" verschlüsseln, dann würdest du das ganze so machen:

Delphi-Quellcode:
S := MD5DigestToStr(MD5String('hallo'));
Du hättest nur in die MD5.pas gucken müssen und da hättest du es lesen können ;)

Siehe hier:

Zitat:

{ The MD5String function evaluates the MD5 hashsum for
a string. The S parameter specifies a string to
evaluate hashsum }
function MD5String(const S: string): TMD5Digest;

{ The MD5File function evaluates the MD5 hashsum for
a file. The FileName parameter specifies the name
of a file to evaluate hashsum }
function MD5File(const FileName: string): TMD5Digest;

{ The MD5Stream function evaluates the MD5 hashsum for
a stream. The Stream parameters specifies the
TStream descendant class object to evaluate hashsum }
function MD5Stream(const Stream: TStream): TMD5Digest;

{ The MD5Buffer function evaluates the MD5 hashsum for
any memory buffer. The Buffer parameters specifies a
buffer to evaluate hashsum. The Size parameter specifies
the size (in bytes) of a buffer }
function MD5Buffer(const Buffer; Size: Integer): TMD5Digest;

{ The MD5DigestToStr function converts the result of
a hashsum evaluation function into a string of
hexadecimal digits }
function MD5DigestToStr(const Digest: TMD5Digest): string;

{ The MD5DigestCompare function compares two
TMD5Digest record variables. This function returns
TRUE if parameters are equal or FALSE otherwise }
function MD5DigestCompare(const Digest1, Digest2: TMD5Digest): Boolean;
MfG

GuenterS 28. Mär 2005 10:13

Re: Serials erstellen
 
Zitat:

Zitat von himitsu
Und wenn sich dann noch etwas "gutes" am PC sinden würde (z.B. 'ne Hardware-Seriennummer, oder so) würde das dann auch nochmal den Key verändern, abr leider ist es "schwer" etwas am PC zu finden, was sich dafür verwenden läßt, da der PC ja auch mal aufgerüstet (oder ausgetauscht) werden könnte :(


Naja die System-Festplatte wird wohl nicht sehr oft ausgetauscht werden und in dem Falle, müßte man das Programm ja vielleicht eh auch neu installieren. (bzw. dann auch wieder aktivieren)

jamma-markus 28. Mär 2005 11:30

Re: Serials erstellen
 
danke, problem gelöst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:42 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