Seite 1 von 1

aus 9 Zeichen eine 16 stellige seriennummer

Verfasst: 25.09.2005 13:52
von sen-me
hi

Code: Alles auswählen

  Dim key.b(9)
  Dim nummer.s(2)
  j.b=0
  For i.b=0 To 8
   While key(i)<33
    key(i)=Random(126)
   Wend
   schluessel.s+Chr(key(i))
   If i=3 Or i=6 : j+1 : EndIf
   nummer(j)+Str(key(i))
  Next
schluessel hat nun nen 9 stelligen zeichensatz
nummer(0)hat die 1. 3 stellen
nummer(1)hat die 2. 3 stellen
und nummer(2) den rest
wie kann ich nun eine 16 stellige seriennummer daraus machen? die nur aus nummern und Buchstaben bestehn solln

Verfasst: 25.09.2005 14:16
von PAMKKKKK
Schau dir mal in der PB Hilfe unter Cipher folgende Befehle an:

CRC32Fingerprint
DESFingerprint
MD5Fingerprint

DESFingerprint ist glaube ich dein Freund.

Verfasst: 01.10.2005 06:06
von Kaeru Gaman
@sen-me

ich versteh überhaupt nicht, worauf du hinaus willst...

btw:
warum nimmst du nicht

Code: Alles auswählen

key(i) = Random(93)+33
statt

Code: Alles auswählen

   While key(i)<33 
    key(i)=Random(126) 
   Wend 
außerdem ist dein string nummer() nicht eindeutig, weil die zahlen,
die sich ergeben, mal 2 und mal 3 stellen haben.

evtl wäre

Code: Alles auswählen

nummer(j) + Right("0"+Str(key(i)),3)
besser.

eine 16-stellige seriennummer aus ziffern und großbuchstaben läßt sich so erzeugen:

Code: Alles auswählen

For n=0 To 15
    Char = Random (35)+48
    If Char > 57 : Char+7 : EndIf
    SerienNr$+Chr(Char)
Next

Debug SerienNr$
sollen kleinbuchstaben auch dazu:

Code: Alles auswählen

For n=0 To 15
    Char = Random (61)+48
    If Char > 83
        Char + 13
    ElseIf Char > 57
        Char+7
    EndIf
    SerienNr$+Chr(Char)
Next

Debug SerienNr$
...vielleicht hilft das ja ansatzweise...