Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Wie generiere ich automatisch Serien-Nummern ?

Frage Internet

Mitglied: dark3zz

dark3zz (Level 1) - Jetzt verbinden

04.08.2010 um 09:11 Uhr, 3731 Aufrufe, 13 Kommentare

Ich muss CD-Keys herstellen. Wie löse ich das am besten/einfachsten

Ich muss CD Keys generieren. Das Format sieht so aus: 1234-1234-12

Hat jemand einen Tipp wie ich solche automatisch generieren kann ? Per Tool, Script, VB, PHP oder was auch immer ?

Ich brauche etwa 1'000 Stück, also von Hand ist da nichts ^^

Herzlichen Dank
Mitglied: H41mSh1C0R
04.08.2010 um 09:56 Uhr
Also beim basteln eines algos für einen keygen ist deiner Phantasie eigentlich keine Grenzen gesetzt.

Um wenig Arbeit zu machen, wenn die Anzahl der Keys überschaubar ist, schreib in deinem Format einfach per Zufall 1000 Keys in eine Datei und prüfe danach automatisch ob es den Key schon gibt, wenn ja Doppelten Key rausschmeissen und einen neuen dazu und erneut prüfen.

Bei 1000 Stück betrachte ich das noch als überschaubar, sollten es später viel mehr werden, müsste man schon einen algo mit ner logik nehmen, denn wenn man wegen einem Key 1.000.000 Keys abklappern muss ist das schon sehr ineffizient.

Daher ist die Random Variante die schnellste und einfachste für deinen Anwendungsfall und nicht gleich für den findigen Kunden durchschaubar als einfach nur hochzählen. xD
Bitte warten ..
Mitglied: 60730
04.08.2010 um 10:28 Uhr
Moin,

nur zur Info:

Eine "Serien" Nummer ist/sind Nummern & Buchstabenkombinationen
- anhand der man idealerweise u.a das Herstelldatum ermitteln kann und die sollten daher fortlaufend sein.

Ein CD Key ist idealerweise ein Key mit eingebauter Prüfziffer. (vgl. ISBN)

Die Frage ist also, willst du zufällige oder eine Reihe von Zahlen?

Gruß
Bitte warten ..
Mitglied: maretz
04.08.2010 um 10:50 Uhr
Wie möchtest du die denn abprüfen? Soll das z.B. mittels Datenbank gehen (d.h. online-prüfung) oder soll das auch offline gehen (d.h. berechnung des Codes ist möglich)

Im ersten Fall ganz simpel. Schreibe dir 1000 Keys mittels Random-Funktion in eine DB -> fertig. Jetzt lässt du dir 1000 Zettel mit je einem Key ausdrucken -> schon hast du alles was du brauchst.

Der zweite Fall ist da etwas komplexer. Denn generell is es einfach - du suchst dir nen Code aus (z.B. Quersumme muss die Zahl 7 ergeben ;) ). Schon kannst du aus der Eingabe erkennen ob das ganze passt - allerdings kann man das natürlich schnell auch wieder rausfinden und braucht den Code von dir nicht mehr. Oder du machst das etwas komplexer (z.B. mittels Zahlen/Buchstaben) bei dem du das alles erst in ein Format wandelst und sagst das es dann in dem Format bestimmte Eigenschaften erfüllen muss. Da ist dann die Frage: Was glaubst du wieviel Aufwand in das Knacken gesteckt wird - und dann ergibt sich daraus wie aufwendig dieser Schutz sein soll...

Und in EINEM Punkt musst du dir auch ganz klar sein: Ein "CD-Key" ist immer recht unsicher wenn du den nicht in die jeweilige CD fest mit eincompilierst (und selbst dann ist es mit nem Debugger recht einfach! - aber damit können nicht soviele Leute umgehen...). Denn jeden Code den du auf nen Zettel schreibst kann ich auch einfach per Email versenden, in die üblichen Key-Listen der bekannten Seiten eintragen usw.. -> schon ist dein komplexer Algorithmus für'n Ar...
Bitte warten ..
Mitglied: ITwissen
04.08.2010 um 12:57 Uhr
In Perl:

01.
for ($i=1;$i<1000;$i++) { 
02.
     $sn=sprintf("%010d",$i); 
03.
     printf("%s-%s-%s\n",substr($sn,0,4), substr($sn,4,4), substr($sn,8,2)); 
04.
}
Bitte warten ..
Mitglied: dark3zz
04.08.2010 um 14:47 Uhr
..
Bitte warten ..
Mitglied: dark3zz
04.08.2010 um 15:04 Uhr
Hoied

Ja das sind alles tolle Lösungen, danke. Aber wie generiere ich eben diese 1'000 ? Mit was


ITWissen: Das könnte ich ja unter php ausführen oder ?
Bitte warten ..
Mitglied: ITwissen
04.08.2010 um 15:12 Uhr
Ja, aber vielleicht zur übersichtlichkeit noch ein "<br>" rein.

01.
<? 
02.
for ($i=1;$i<1000;$i++) { 
03.
     $sn=sprintf("%010d",$i); 
04.
     printf("%s-%s-%s<br>\n",substr($sn,0,4), substr($sn,4,4), substr($sn,8,2)); 
05.
06.
?>
Bitte warten ..
Mitglied: dark3zz
04.08.2010 um 15:27 Uhr
Hoi ITWissen

das klappt, aber der script zählt nur immer +1 und gibt wieder aus

also da wären Buchstaben gemischt besser. und keine 000-000-01 etc..... auf die schnelle weiss ich nun nicht wie dein php script anzupassen

ps: die serinenummern bestehen nur aus buchstaben
Bitte warten ..
Mitglied: dark3zz
04.08.2010 um 15:29 Uhr
Zitat von 60730:


Die Frage ist also, willst du zufällige oder eine Reihe von Zahlen?

Gruß


zufällige buchstaben

OERD-DGGB-DW z.b.
Bitte warten ..
Mitglied: ITwissen
04.08.2010 um 15:37 Uhr
Du musst dich jetzt schon mal entscheiden, was du willst. Plötzlich sind deine Seriennummer nur Buchstaben, oben steht "1234-5678-90". Aus Zahlen Buchstaben machen ist ja nicht so schierig.

Wenn du nicht mal diesen einfachen 4 Zeiler in PHP lesen kannst, ohne ihn gleich laufen zu lassen, solltest du dich dringend in der Materie fortbilden.

So macht das keinen Spass.

Ich nehme 100 Euro (Freundschaftspreis!) die Stunde, dann schreib ich dir das in PHP. Hier gibt es nur "Anregungen", maximal Codeschnippsel.
Sorry, dass ich das so deutlich sagen muss. Du darfst jetzt auch sauer auf mich sein
Bitte warten ..
Mitglied: dark3zz
04.08.2010 um 15:44 Uhr
ne eazy.. hab keine zeit sauer zu sein... zahlen/buchstaben habe ich übersehen, bin ja keine maschine.

danke fuer den vorschlag. werde mich aber mit deiner lösung weiter beschäftigen....

vielleicht gibts ja noch lösungsvorschläge mit VisualBasic (Access z.b.) oder ganz einfach Excel. Vielleicht sollte ich mal noch im Excel Bereich was posten.
Bitte warten ..
Mitglied: maretz
04.08.2010 um 15:48 Uhr
und damit du mal nen Ansatz hast:

Alphabet hat 26 - 52 Buchstaben (je nachdem ob du ne Unterscheidung Klein-/Gross beachten willst). EINE (stumpfe) Methode wäre jetzt also nen Array mit 26-52 Elementen
$Wert[0]="A";
$Wert[1]="B";

Jetzt noch nen Random der dir ganzzahlige Werte zwischen 0-25/51 rauswirft.... Und das ganze dann in ner Schleife mit 12 Durchläufen -> fertig ist dein Generator...

Den fertigen Code darfst du dir eben in 3 Minuten selber zusammenballern...
Bitte warten ..
Mitglied: ITwissen
05.08.2010 um 07:57 Uhr
Weil es wirklich einfach ist, hier mit Buchstaben:

01.
<? 
02.
for ($i=1;$i<1000;$i++) { 
03.
     $sn=strtr(sprintf("%010d",$i),'0123456789','ABCDEFGHIJ'); 
04.
     printf("%s-%s-%s<br>\n",substr($sn,0,4), substr($sn,4,4), substr($sn,8,2));  
05.
06.
?>
Hinweis: mit Zufallszahlen, muss man noch checken, ob eine Zeichenfolge zweimal vorkommt.
Bitte warten ..
Ähnliche Inhalte
Firewall
Firepower 2100 Series Firepower 2100 Series

Link von Dobby zum Thema Firewall ...

Netzwerke
Thunderbird Nummer automatisch in Kontakt speichern (1)

Frage von thomasreischer zum Thema Netzwerke ...

Batch & Shell
gelöst Mehrere Dateien mit laufender Nummer automatisch erstellen (5)

Frage von anko123 zum Thema Batch & Shell ...

Switche und Hubs
N-Series Switche von Dell (8)

Frage von Markii zum Thema Switche und Hubs ...

Neue Wissensbeiträge
Sicherheit

Millionen Euro in den Sand gesetzt?

(1)

Information von transocean zum Thema Sicherheit ...

Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Erkennung und -Abwehr

Ccleaner-Angriff war nur auf große Unternehmen gemünzt

(10)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Heiß diskutierte Inhalte
Humor (lol)
gelöst Freidach Beitrag (40)

Frage von Penny.Cilin zum Thema Humor (lol) ...

Windows 7
gelöst SSD - Win7 Lags (20)

Frage von ph5555 zum Thema Windows 7 ...

Firewall
gelöst Firewall Firmeneimsatz (19)

Frage von wiesi200 zum Thema Firewall ...