Zufällige Passwörter erstellen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

bugmenot
*
Beiträge: 12
Registriert: Do, 11.05.2006 22:58

Zufällige Passwörter erstellen

Beitrag von bugmenot »

Hallo,

ich würde gerne mehrere 6-stellige Passwörter erstellen. Dafür würde ich gerne die Zeichen A-Z und 0-9 verwenden. Das Erstellen der Passwörter habe ich soweit schon hinbekommen, jedoch habe ich es nicht geschafft, dass sich die Zeichen nicht wiederholen. Sprich es sollten keine Zeichen in einem Passwort doppelt vorkommen (z.B. A5AZX9 oder 99Q1TZ).

Ich wäre sehr froh über einen Lösungsansatz. Vielen Dank!

Liebe Grüße,
bugmenot
bst
*****
Beiträge: 222
Registriert: Mo, 18.01.2010 16:14
Wohnort: Ilsfeld

Re: Zufällige Passwörter erstellen

Beitrag von bst »

Hi,

versuche das mal so.

Code: Alles auswählen

A1: =myZufall()
cu, Bernd
--

Code: Alles auswählen

Function myZufall() As String
   Dim i As Integer, j As Integer, intZufall As Integer, sErg As String
   
   s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
   i = len(s)
   For j = 1 To 6
      intZufall = 1 + Int(Rnd() * i)
      sErg = sErg & Mid(s, intZufall, 1)
      Mid(s, intZufall, 1) = Mid(s, i, 1)
      i = i - 1
   Next
   myZufall = sErg
End Function
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Zufällige Passwörter erstellen

Beitrag von Karolus »

Hallo

Per Passwort-funktion:

Pythoncode:

Code: Alles auswählen

from random import sample
from string import ascii_uppercase as upper, digits

def password( l ):
    return ''.join(sample( upper + digits, l ))
[edit: damit man das Dokument auch irgndwann mal ohne Probleme wieder öffnen kann muss im Basic-teil noch eine Fehlerroutine eingebaut werden ]
Basic-'schnittstelle':

Code: Alles auswählen

Const URL_Main = "vnd.sun.star.script:pass.py$"
Const URL_Args = "?language=Python&location=document"

Function passwort( len )
   on Error goto fff 
   doc = thisComponent
   sProv = doc.getScriptProvider
   sURL = URL_Main & "password" & URL_Args
   oScript = sProv.getScript(sURL)
   x = oScript.invoke( Array( len ),Array(),Array())
   passwort = x
   exit function
   fff:
   passwort = "bitte neuberechnen" 
   
end function  
Im angehängten Dokument ist beides dabei.
[edit: Dokument ausgetauscht[attachment=0]passs_neu.ods[/attachment]

Karolus
Dateianhänge
passs_neu.ods
(12.33 KiB) 233-mal heruntergeladen
Zuletzt geändert von Karolus am Do, 25.10.2012 11:14, insgesamt 1-mal geändert.
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Zufällige Passwörter erstellen

Beitrag von Stephan »

Hallo Karolus,

das Beispiel finde ich interessant, auch weil ich kein Python kann.

Meinst Du du könntest das gesamte Beispiel einmal im Unterforum "Wissensarchiv" detaillierter darstellen im Sinne 'Wie verwende ich Python-Scripts und gebe diese in Dokumenten weiter?' Würde mich freuen.



Gruß
Stephan
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Zufällige Passwörter erstellen

Beitrag von Karolus »

Hallo Stephan
Stephan hat geschrieben:Hallo Karolus,

das Beispiel finde ich interessant, auch weil ich kein Python kann.
Wie du oben siehst, ist der Pythoncode geradezu einfachst und selbsterklärend ( der Basiccode zum Erstellen der Schnittstelle ist so schon um einiges komplexer. ) - was ich damit ausdrücken will : Python sollte für jemanden wie dich relativ schnell erlernbar sein.
Stephan hat geschrieben:Meinst Du du könntest das gesamte Beispiel einmal im Unterforum "Wissensarchiv" detaillierter darstellen im Sinne 'Wie verwende ich Python-Scripts und gebe diese in Dokumenten weiter?' Würde mich freuen.
Das werde ich gerne tun ( im Winter wenn ich etwas mehr Zeit habe )
Könntest du evtl. in diesem Kontext dafür sorgen das hier Forum Syntaxhighlighting für Codesnippets zur Verfügung steht?
Code ist erheblich leichter zu lesen und zu verstehen in "farbiger" Darstellung.
syntaxhighlighting.png
syntaxhighlighting.png (28.17 KiB) 2607 mal betrachtet

Hier mal eine Kurzanleitung :
1. Coden mit externem Editor für Python (Idle, Pycharm, Wing IDE, etc. )

2. Speichern: im OOo/Lo-Python-Standard-pfad $USERCONFIG/3/user/Scripts/python/...

3. Pythonscript ins Dokument transferieren: z.B. mittels des kleinen aber feinen Dialogs von Hanya (natürlich auch in Python geschrieben ,-) ) ist das ganz einfach zu erledigen:
python-script-dialog.png
python-script-dialog.png (17.62 KiB) 2607 mal betrachtet
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Zufällige Passwörter erstellen

Beitrag von Stephan »

Hallo Karolus,

was ich damit ausdrücken will : Python sollte für jemanden wie dich relativ schnell erlernbar sein.

das ist schon richtig, ich habe mich wohl etwas ungeschickt ausgedrückt. Eigentlich meinte ich das mir bei diesem Beispiel das erste Mal aufgefallen ist das hier Python-Code in einer Datei abgelegt ist (falls das bereits bei anderen Beispielen von Dir der Fall war habe ich einfach nicht darauf geachtet) und da ich zwar weiß wie ich den Code in das Archiv der Datei bekomme, aber annehme Viele wissen das nicht und Du oftmals hier Phyton-Beispiele postet, welche ggf. sinnvoll in eine Datei gepackt werden könnte, fände ich eine Erklärung nützlich die beschreibt:

-wie greife ich auf den Phytoncode überhaupt per Schaltfläche etc. zu
-wie rufe ich dazu den Code über StarBasic auf
-wie packe ich das in eine Datei


OK, ich sehe jetzt Deine Kurzanleitung und ohne die getestet zu haben würde ich wohl damit zurechtkommen, vielleicht ist aber eine etzwas ausführlichere Version in "Wissensarchiv" doch besser.


generell:
mich würde es auch freuen wenn Du in "Wissensarchiv" weitere Dinge über Python schreibst, denn Du veröffentlichst hier im Forum ja Etliches dazu und gleichzeitig ist Python für OOo/AOO/LO längst nicht besonders populär, Informationen also eher dünn gesät.
Schon ein Sammelthread 'Python-Beispiele' in "Wissensarchiv" wo Du auf die speziellen Threads hier im Forum, wo Du Phython-Code postest verlinkst wäre wohl hilfreich.
Ebenso hätte ich nichts dagegen den Thread "Informationen zur StarBasic-Programmierung" zu verallgemeinern und hier auf entsprechende Python-Links aufzunehmen (im Konkreten wäre 'Bedingung' das diese sinnvoll ausgewählt sind mit dem Ziel Anfängern einen Einstieg zu geben, also nicht so Viele aber gezielte Links)

Ich möchte dich hier zu nichts drängen, aber ich hielte diese Dinge wirklich von (auch allgemeinem) Interesse und ich persönlich nehme seit Langem wahr wieviel Du über Python-Programmierung in Bezug auf OOo/AOO/LO weisst.




Gruß
Stephan
bugmenot
*
Beiträge: 12
Registriert: Do, 11.05.2006 22:58

Re: Zufällige Passwörter erstellen

Beitrag von bugmenot »

bst hat geschrieben:Hi,

versuche das mal so.

Code: Alles auswählen

A1: =myZufall()
cu, Bernd
--

Code: Alles auswählen

Function myZufall() As String
   Dim i As Integer, j As Integer, intZufall As Integer, sErg As String
   
   s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
   i = len(s)
   For j = 1 To 6
      intZufall = 1 + Int(Rnd() * i)
      sErg = sErg & Mid(s, intZufall, 1)
      Mid(s, intZufall, 1) = Mid(s, i, 1)
      i = i - 1
   Next
   myZufall = sErg
End Function
hallo.

Vielen Dank! Funktioniert perfekt! :)

lg bugmenot
Antworten