Top-Themen

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

Code-Generator

Mitglied: ccamel

ccamel (Level 1) - Jetzt verbinden

18.08.2009, aktualisiert 10:21 Uhr, 15645 Aufrufe, 9 Kommentare, 1 Danke

Seriennummern, Model-Nummern, Codes, usw. hat schon jeder mal gesehen. Ich möchte mit einer kleinen Funktion veranschaulichen wie man so ein "Code" selbst generieren kann.

Folgende Funktion generiert ein Quadrupel bestehend aus Zahlen von 0-9 und Buchstaben von A-Z. Dabei ergeben sich dadurch insgesammt 1'336'336 (34^4) Möglichkeiten.

Ausgabe:
...
AA5E
DRTX
1646
2R0O
...


Diese Funktion generiert einfach vor sich hin ohne zu prüfen ob ein Quadrupel bereits existiert. Eine Möglichkeit wäre alle ergebnisse in eine Datenbank zu speichern und zu prüfen ob dieser Wert bereits existiert.

01.
<?php 
02.
function generatorQuadrupel(){ 
03.
	$quadrupel = array(); //--- Define Array 
04.
	$anzahl = 4; //--- 4 Stellen (Quadrupel) 
05.
	for($x = 0; $x < $anzahl; $x++){ 
06.
		$i = mt_rand(0, 1); 
07.
		if($i < 1){ 
08.
			$single = chr(mt_rand(65, 90)); //--- Zufalls ASCII von A-Z 
09.
		}else
10.
			$single = mt_rand(0, 9); //--- Zufallszahl von 0-9 
11.
12.
		$quadrupel[$x] = $single; //--- Das Array wird gefüllt 
13.
14.
	return implode("", $quadrupel); 
15.
16.
?>

Viel spass damit! Und wenn sich ein Fehler eingeschlichen hat oder jemandem etwas unklar ist einfach melden.

Gruss
Ccamel
Mitglied: Senffass
21.08.2009 um 17:05 Uhr
Und Wie muss ich den Code ändern, wenn ich den kompletten American Standard Code for Information Icnterchenge(ASCII)-Zeichensatz haben will???
Bitte warten ..
Mitglied: LordXearo
24.08.2009 um 00:14 Uhr
Hoi,

bin zwar kein PHp programmierer und kann das jetzt nicht austesten. Aber die Zeile:

$single = chr(mt_rand(65, 90)); --- Zufalls ASCII von A-Z

musst du wohl so abändern:

$single = chr(mt_rand(0, 127));
--- Zufalls ASCII

Gruß

Xearo
Bitte warten ..
Mitglied: ccamel
24.08.2009 um 08:50 Uhr
Morgen,

LordXenaro liegt mit seiner Vermutung richtig. Dazu noch ein Link: http://www.asciitable.com/

Gruss
Ccamel
Bitte warten ..
Mitglied: 81825
24.08.2009 um 08:59 Uhr
Im Bereich von 0 - 31 liegen die nicht druckbaren Steuerzeichen. Ob das wirklich sinnvoll ist .....

Abgesehen davon: Die paar Codezeilen als Anleitung anstatt als Tipp zu veröffentlichen, ist schon dreist.
Bitte warten ..
Mitglied: Sokrates
03.09.2009 um 01:49 Uhr
Schön knapp aber aufs Wesentliche bezogen.

X
Bitte warten ..
Mitglied: StefanKittel
09.10.2009 um 08:49 Uhr
Moin,

Zufallszahlen an einem Computer erzeugen geht ja eigentlich nicht. Es sind immer Pseudozufallszahlen.
Du gehst immer das Risko ein, dass Deine Routinen oder die des OS fehlerhaft sind und damit in einer endlosschleife hängen (weil schon vorhanden).

Besser wäre ein "System".
Z.B. sehen unsere Rechnungen so aus 200910090001. Also Datum rückwerts mit einem Zähler.
Letzten Wert auslesen, Datum überprüfen, Zähler erhöhen.
Zusätzlich kann man anhand der SN dann noch das Datum erkennen.

Stefan
Bitte warten ..
Mitglied: ccamel
12.10.2009 um 10:18 Uhr
Salü

Zufallszahlen an einem Computer erzeugen geht ja eigentlich nicht. Es sind immer Pseudozufallszahlen.

"In der Berechenbarkeitstheorie wird alles das als pseudozufällig bezeichnet, was durch den Betrachter nicht von wirklicher Zufälligkeit unterschieden werden kann." - Wikipedia

Du gehst immer das Risko ein, dass Deine Routinen oder die des OS fehlerhaft sind und damit in einer endlosschleife hängen (weil schon vorhanden).

Hast Du das Script überhaupt mal getestet? Bei mir nie hängen geblieben wegen "weil schon vorhanden". Alles eine Sache der Handhabung.

Besser wäre ein "System"...
Du erzählst was von Rechnungen. Find ich super Dein System. Ich aber erzähl was von "Codes" wie man sie bei Captchas oder sonstwo findet.

Gruss
Ccamel
Bitte warten ..
Mitglied: SamTrex
12.10.2009 um 21:26 Uhr
Hallo zusammen,
hier auch noch ein kleiner Code-Generator von mir...

Beinhaltet 0-9, a-z, A-Z und einen ganzen Satz an Sonderzeichen!
Die Länge ist begrenzt auf 1024 Zeichen. Damit kommt man in der Regel aus ;)

VBS-Code:
01.
Option Explicit 
02.
 
03.
'Deklaration der Variablen 
04.
Dim index 					'Zähler für die FOR-NEXT-Schleife 
05.
Dim index1 					'Abfrage ob DO-Schleife wiederholt werden soll 
06.
Dim index2 					'Erstelltes Zufallszeichen 
07.
Dim index3 : index3 = "" 	'Länge des Keys 
08.
dim index4 : index4 = 1024 	'Maximale Länge des Keys 
09.
Dim min : min = 33			'Minimalindex für ASCII-Zeichen 
10.
Dim max : max = 126			'Maximalindex für ASCII-Zeichen 
11.
Dim key 					'Key 
12.
 
13.
'Deklaration der Objekte 
14.
Dim objSHELL : SET objSHELL = createobject("wscript.shell") 
15.
 
16.
'Zufallswert für Start ermitteln 
17.
Randomize 
18.
 
19.
'Key erstellen 
20.
Do 
21.
	index3 = InputBox("Bitte geben Sie die Länge des gewünschten Keys an...", "KeyGen") 
22.
	If index3 = Empty then WScript.Quit  
23.
	If IsNumeric(index3) Then 
24.
		if cint(index3) > index4 then 
25.
			msgbox "Die gewünschte Länge des Keys ist zu groß!" & vbcr & "Es werden maximal " & index4 & " Zeichen unterstützt.",vbokonly+vbexclamation,"KeyGen" 
26.
			index1 = vbNo 
27.
		else 
28.
			Do 
29.
				key = "" 
30.
				For index = 1 To index3 
31.
				index2 = Int((max - min + 1) * Rnd + min) 
32.
				key = key & Chr(index2) 
33.
			Next 
34.
			index1 = objSHELL.popup("Ihr generierter Schlüssel mit einer Länge von " & index3 & " Zeichen:" & vbCr & vbCr & key & vbCr & vbCr & "Zufrieden?",,"KeyGen",vbyesno + vbexclamation) 
35.
			Loop While index1 = vbNo 
36.
		end if 
37.
	else 
38.
		MsgBox "Sie haben keine Zahl eingegeben!", vbCritical, "KeyGen" 
39.
		index1 = vbNo 
40.
	End If	 
41.
Loop While index1 = vbNo 
42.
 
43.
'Key in Inputbox ausgeben (damit er kopiert werden kann!) 
44.
InputBox "Zum kopieren einfach 'Strg+C' oder 'rechtsklick - Kopieren' wählen","KeyGen",key
Ideal für WLAN-Schlüssel und gute Account PW's: ao|44$:rx+^4]xQu||OokyVvx^A(-1bW94TIhhz9A!L;{J]T{9{PZ"ndfPywgsq9
Viel Spaß damit!

Gruß Sam
Bitte warten ..
Mitglied: siroques
19.03.2010 um 18:16 Uhr
Und hier noch die 1 Zeilen Variante in PHP: ;)

01.
function keyGen($l=4){while(strlen($k)<$l)$k.=(mt_rand(0,1)==0?mt_rand(0,9):chr(mt_rand(65,90)));return $k;}
Aufruf dann via "echo keyGen()" oder bei anderer Länge als 4 "echo keyGen(10)"
Bitte warten ..
Ähnliche Inhalte
PHP
Exit code generator
Tipp von kunert0345PHP3 Kommentare

Beschreibung: Ein PHP-Script das sich durch den Verzeichnisbaum Eurer Website arbeitet und nach exit Codes die nicht 0 sind ...

Erkennung und -Abwehr
Code ohne Macros in Word ausführen!
Information von LochkartenstanzerErkennung und -Abwehr1 Kommentar

Wie in beschrieben, bietet Word per DDE die Möglichkeit, fremden Code auch ohne Makros auszuführen. Das sollte bei Sicherheitsmaßnahmen ...

Erkennung und -Abwehr
CSV-Import in Excel mit Code-Injection!
Information von LochkartenstanzerErkennung und -Abwehr3 Kommentare

Nur damit niemand denkt, da kann ja nicht viel passieren. Auch bei CSV-Dateien, sollte man genau hinsehen, wo die ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgbornSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Neue Wissensbeiträge
SAN, NAS, DAS
QNAP NAS Datenschutz-Loop nach Firmware-Update
Tipp von vanTast vor 7 StundenSAN, NAS, DAS1 Kommentar

Moin, im allgemeinen Trend seine geänderten Datenschutzbedingungen den Kunden zukommen zu lassen kam die Firma QNAP auf die glorreiche ...

Datenschutz
DSGVO Datenschutzgesetz
Anleitung von 1Werner1 vor 8 StundenDatenschutz4 Kommentare

Moin, ja was ist das, da ist die DSGVO Datenschutzverordnung. Wie das Gesetz gibt es schon 2 Jahre? Nun ...

CPU, RAM, Mainboards
Neverending story
Tipp von keine-ahnung vor 1 TagCPU, RAM, Mainboards1 Kommentar

Da kommt man mit dem fixen gar nicht mehr hinterher und die CPU erreichen wieder Rechenleistungen im Bereich des ...

Multimedia & Zubehör
AVM Fritz USB WLAN Sticks schneller einschalten
Tipp von NetzwerkDude vor 3 TagenMultimedia & Zubehör4 Kommentare

Die AVM Fritz WLAN Sticks haben in der Firmware 2 Modis: Einmal als Massenspeicher und einmal als WLAN Netzwerkkarte ...

Heiß diskutierte Inhalte
PHP
Nach Umzug zu 1und1 bekomme ich beim Eintrag in die DB Tabelle folgenden Fehler
gelöst Frage von jensgebkenPHP35 Kommentare

INSERT command denied to user 'dbo45342345342231244'@'112.127.102.073' for table 'orders'

LAN, WAN, Wireless
Powerline über zwei Stockwerke optimieren
gelöst Frage von DultusLAN, WAN, Wireless33 Kommentare

Guten Morgen liebes Forum, ich hätte einmal eine Frage bezüglich Powerline Adapter: Mein Problem ist seit gestern präsent, da ...

Windows Userverwaltung
Problem mit Benutzerprofil
Frage von lieferscheinWindows Userverwaltung24 Kommentare

Guten Tag liebe Community, folgendes Problem habe ich: User meldet sich auf Client A an - sein Homelaufwerk verbindet. ...

Off Topic
DISKUSSION: Was bringt der Disclaimer "Wenn Sie nicht der Empfänger sind."
Frage von N8DragonOff Topic21 Kommentare

So oder ähnlich, lese ich immer wieder Kleingedrucktes am Ende diverser Mails. Letzten Endes wollen sie mir alle sagen, ...