puerto
Goto Top

Zufällige alphanumerische Codes erzeugen? Wie?

Ich brauche 350 10-stellige Codes (Zahlen sowie Klein- und Großbuchstaben) wie z.B.

T967sH7f92

am besten untereinander in einer Excel-Liste.

Kennt jemand ein Programm oder kann mir sonst irgendwie weiterhelfen, wie ich das bewerkstelligen kann?

Vielen Dank!

Content-Key: 177673

Url: https://administrator.de/contentid/177673

Printed on: April 20, 2024 at 15:04 o'clock

Mitglied: 64748
64748 Dec 14, 2011 at 09:29:17 (UTC)
Goto Top
Guten Morgen puerto,

ich benutze das folgende Skript um Kennwörter anzulegen, ich hab es ein bisschen gekürzt, in den ersten Zeilen findest Du die Konfiguration, sie ist selbsterklärend. Es läuft auf Linux und Windows (Perl muss installiert sein). Wenn die erzeugte Datei die Endung .csv hat, dann kannst Du sie direkt in Excel öffnen.
#!/usr/bin/perl 

use strict;
use warnings;

# Zeichen, die in Passwoertern vorkommen koennen
my @chars=split("","abcdefghkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ123456789") ;  
# Länge des Passworts
my $len = 6 ;
# Name der zu erzeugenden Datei
my $datafile = "Kennwoerter.txt" ;  
# Anzahl der Kennwoerter
my $last = 10 ;

if (-e "$datafile") {  
    die "Neue Benutzerdatei \"$datafile\" schon vorhanden, STOP!\n" ;  
}

# csv datei mit Benutzername;Password
open DATA, ">$datafile" or die "geht nicht $!" ;  
for my $user (1..$last) { 
    my $password ;

    foreach (0..$len-1) { 
        $password .= $chars[int(rand(@chars))] ; 
    } 
    print DATA $password, "\n" ;  
}
close DATA ;

Ach ja: das geht natürlich auch mit einem Makro in Excel, aber ich bin kein Fan von Basic.

Gruß

Markus
Member: bastla
bastla Dec 14, 2011 at 10:21:42 (UTC)
Goto Top
@64748
aber ich bin kein Fan von Basic.
Auch nicht, wenn Du das mit der folgenden Formel vergleichst? face-wink
=TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)
In A1 müssten dafür die zugelassenen Zeichen stehen, also entsprechend Deinem Beispiel etwa:
abcdefghkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ123456789
In VBA würde ich übrigens kein Makro, sondern eine "Function" (in einem Modul) verwenden - etwa:
Function MakeCode(sZ As String, iL As Integer) As String
For i = 1 To iL
    sT = sT & Mid(sZ, Int(Rnd() * Len(sZ) + 1), 1)
Next
MakeCode = sT
End Function
Der Aufruf aus dem Tabellenblatt sähe dann so aus:
=MakeCode("0123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghkmnopqrstuvwxyz"; 10)
und ließe sich, wie auch die Formel oben, entsprechend oft kopieren ...

Grüße
bastla
Mitglied: 64748
64748 Dec 14, 2011 at 10:33:34 (UTC)
Goto Top
Zitat von @bastla:
Auch nicht, wenn Du das mit der folgenden Formel vergleichst? face-wink
<code
type="plain">=TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)&TEIL($A$1;ABRUNDEN(ZUFALLSZAHL()*LÄNGE($A$1)+1;0);1)

ok, unter den Umständen....

Markus