Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
Minotauro

[suche] Zufallsscript

Recommended Posts

Ich bin auf der Suche nach einem "Zufallsscript", welcher aus Zahlen und/oder wahlweise auch Buchstaben Zeichnfolgen von bestimmter Länge macht. Das ganze ist eigentlich ja nicht so aufwendig, da es ja bereits diverse Passwortgeneratoren-Scripte gibt, welche ähnlich funktionieren. Da ich aber gewisse Anforderungen an dieses Script stelle, bin ich leider noch nicht fündig geworden.

Folgendes sollte möglich sein:

- Ausgabemenge (zB. 500 od. 1000 versch. Zeichenfolgen)

- Sortierfunktion, d.h. die Reihenfolge sollte Alphanummerisch (gibt's das Wort? :lol: ) erfolgen

- Länge einstellbar (zB. 4 oder 6-stellig)

- Wahl zw. Zahlen, Buchstaben oder beidem

- Ausgabe in einem Textfeld, muss aber nicht sein

Vor die Ausgabe soll sowas wie 6 feste Ziffern gesetzt werden können. also zB. 000132- gefolgt von den 4 oder 6 variablen Zeichnfolgen.

Hat vielleicht jemand Zeit sowas zu machen? :rolleyes:

Toll wäre, wenn sowas in PHP programmiert sein könnte.

Share this post


Link to post

Du kannst es natürlich auch entsprechend anpassen.

 function zufall() {
global $id_pass;
$buchstaben = array("A","B","C","D","E","F","G","H","I");
mt_srand ((double)microtime()*1000000);
$zahl1 = mt_rand(1,333); $zahl2 = mt_rand(1,333);
$zahl3 = mt_rand(1,9); $zahl4 = mt_rand(1,9);
$id = $buchstaben[$zahl3].$buchstaben
[$zahl4].$zahl1.$zahl3.$buchstaben[$zahl4].$zahl2;
$id_pass = $id."\n";
}
Ändern in
 function zufall($length = 4) {
global $id_pass;
$buchstaben = array("A","B","C","D","E","F","G","H","I");
mt_srand ((double)microtime()*1000000);

$id = "";
for ($i = 0; $i < $length; $i++)
{
$zahl = mt_rand(0, (count($buchstaben)-1));

$id .= $buchstaben[$zahl];
}

$id_pass = $id."\n";
}
Dann kannst du in $buchstaben alle Zeichen reinpacken, die du brauchst bzw. haben willst, ob Buchstaben oder Zaheln. Den Aufruf
 zufall();
dann mit dem entsprechenden Parameter versehen, wie lang dein Passwort sein soll. Beispiel, Passwörter sollen 6 Zeichen haben, dann sieht es so aus:
 zufall(6);

Share this post


Link to post

Danke, das ist in etwa das was ich gesucht habe.

Eigentlich benötige ich die passwortliste.txt überhaupt nicht, die Ausgabe in der Datei an sich reicht. Die kann man ja dann rauskoptieren. Was kann ich dabei wo weglassen?

Könnte man folgende Funktion so "umbauen", dass die Ausgabe des Counters 4-stellig erscheint, also zB. 0001, 0002, 0003, etc.?

$counter) $id_pass<br>

Kann man das Ganze, ohne grösseren Aufwand auch so betreiben, dass die versch. Werte per Eingabemaske eingegeben werden können und die Ausgabe per "Button" erfolgt?

Share this post


Link to post

Möglich ist alles, du muß nur jemanden finden, der das für dich realisiert. ;)

 function zufall($length = 4) {
global $id_pass;
static $counter = 1;
$buchstaben = array("A","B","C","D","E","F","G","H","I");
mt_srand ((double)microtime()*1000000);

$id = "";
for ($i = 0; $i < $length; $i++)
{
$zahl = mt_rand(0, (count($buchstaben)-1));

$id .= $buchstaben[$zahl];
}

$id_pass = $id."\n";

echo sprintf("%04.0f) %s<br>", $counter, $id_pass);
$counter++;
}

So sollte die Ausgabe funktionieren.

Share this post


Link to post

Ja ja, bei unerledigten Sachen drängeln wie ein Großer, aber hier kein Feedback geben. :P

Ist das Thema hier erledigt, hat es geholfen oder fehlt immer noch was?

Nebenbei, deinem Popup Problem hab ich mich jetzt auch angenommen, also keinen Grund für weitere PM´s. :lol::lol: :P

Share this post


Link to post

Neeee, das passt. Danke für deine Hilfe. B)

Das klingt jetzt so, als würde ich dich täglich mit PNs bombardieren. :rolleyes: Vielleicht solltest du noch sagen, dass du mir im Februar disbezüglich Hilfe angeboten hast... :wacko:

So...1:1. :P :teehee:

Share this post


Link to post

Da siehst du mal, seit Februar wird mir ein schlechtes Gewissen vermittelt. :lol::P

Aber nächstes Mal melde ich meine Klausuren ab, nehm Urlaub von der Arbeit und bastel dann so schnell wie möglich die gewünschten Mods für dich. :lol::lol::P

Spaß beiseite, hatte ja gesagt, das du mich nochmal per PM erinnern solltest. ;)

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×