WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   C/C++ - Seriennummernalgorithmus? (http://www.wcm.at/forum/showthread.php?t=119073)

randomize 17.12.2003 19:06

C/C++ - Seriennummernalgorithmus?
 
Hallo,

mich würde mal interessieren, wie man z. B. aus einem String (wie einem Namen) eine Nummer generieren kann. Habe mich noch nie mit dieser Materie beschäftigt, daher weiß ich ja nicht, ob man da überhaupt kurze Anhaltspunkte geben kann...

Trotzdem danke... ;)
Etienne

Sesa_Mina 17.12.2003 22:50

In dem du zum Bleistift den string in seine einzelnen Zeichen zerlegst und die ascii codes der Zeichen ermittelst. Danach machst einige mathematische Operationen mit diesen Zahlen und einem hash wert und voilla.

Potassium 18.12.2003 00:05

@sesa:
beispiele? maybe sogar in vb :D

Sesa_Mina 18.12.2003 01:09

Bleistift:

Code:

Name = "Herr Bleistift"
Hash = &he1e1e1e1

Randomize timer

For X=1 to Len(Name)
  B = Asc(Mid(Name,X,1)
  B = B Xor Int(Rnd*256)
  Hash = Hash Xor (B^((X\4) Mod 4))
Next

MsgBox Format(Hash,"0000000000")


randomize 23.12.2003 18:56

Ok... Danke schonmal. Aber mal 'ne ganz dumme Frage... Wie bekommt man wieder raus, ob ein gegebener Name zu einer gegebenen Nummer passt, sprich ob sie gültig ist...? :confused: :rolleyes:

Sesa_Mina 23.12.2003 21:34

Bei zufallswerten z.b. indem du den zufallszahlengenerator mit dem selben Wert initialisierst. Weil dann bekommst üblicherweise die Selbe Zahlenfolge wieder.

Darum eignen sich Zufallszahlen für sowas nur bedingt.

Wenns per Formel ausrechenbar ist dann nimmst den Namen her und berechnest daraus die Nummer und vergleichst dann.

Sind die eingegebene und die errechnete gleich dann passts.

randomize 23.12.2003 21:43

Ok danke... Dann lass ich das erstmal mit Zufall.
Werd mal ein bisschen rumprobieren.

Tschüs
Etienne


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag