Zainstaluj niezbędny moduł:
Moduł pyperclip jest używany w tym samouczku do kopiowania losowo wygenerowanego hasła, aby móc go gdzieś użyć. Uruchom następujące polecenie, aby zainstalować pyperclip.
$ pip zainstaluj pyperclipPrzykład-1: Zaimplementuj prosty generator haseł
Prosty sposób na stworzenie generatora haseł został przedstawiony w poniższym skrypcie. Zadeklarowano duży tekst złożony ze znaków mieszanych w celu wygenerowania Hasła poprzez wybranie znaków o określonej długości. Długość hasła zostanie pobrana od użytkownika. próba() funkcja losowy moduł został użyty do wybrania postaci z tekstu i losowego łączenia ze sobą. Losowo wygenerowane hasło zostanie wydrukowane później.
# Importuj losowy modułimportuj losowo
# Ustaw listę znaków do generowania hasła
znaków = "01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ&*()[]|/\?[ochrona poczty e-mail]#$%^abcdefghijklmnopqrstuvwxyz"
# Odbierz długość hasła od użytkownika
password_length = int(input('Wprowadź długość hasła: '))
# Wygeneruj hasło
hasło = "".dołącz(losowo.próbka(znaki, długość_hasła))
# Wydrukuj wygenerowane hasło
print("Generowane hasło: %s" %password)
Wynik:
12 podano jako wartość długości hasła, a po wykonaniu skryptu wygenerowano hasło o długości 12 znaków characters.
Przykład 2: Implementacja generatora haseł z GUI
Aplikacja generatora haseł oparta na GUI jest pomocna dla użytkownika w generowaniu losowego hasła. Tkinter moduł został zaimportowany do skryptu, aby stworzyć przyjazną dla użytkownika aplikację do generowania haseł. Losowy i strunowy zostały zaimportowane moduły w celu wygenerowania losowego hasła poprzez zmieszanie wielkich, małych liter, cyfr i znaków specjalnych. Piperclip moduł służy do kopiowania wygenerowanego Hasła do tworzenia różnych typów kont użytkowników. Generator hasła() funkcja zdefiniowała generowanie Hasła i przechowywanie go w hasło zmienna. Kopiuj hasło() funkcja zdefiniowała kopiowanie wygenerowanego Hasła po wygenerowaniu Hasła. Obiekt Tkinter został zadeklarowany w celu zdefiniowania okna aplikacji, w którym zostaną dodane wymagane widżety do projektowania aplikacji generatora haseł. Pierwszy widżet etykiety zdefiniował ustawienie etykiety dla widżetu pola spinu, aby wprowadzić długość hasła. Drugi widżet etykiety zdefiniował etykietę widżetu pola tekstowego, w której będzie wyświetlane wygenerowane hasło. Zdefiniowano widżety z dwoma przyciskami do generowania hasła i kopiowania hasła. Kiedy 'Wygeneruj hasło” przycisk jest wciśnięty, Generator hasła() zostanie wywołana funkcja, a losowo wygenerowane hasło zostanie wyświetlone w polu tekstowym. Po wygenerowaniu hasła, jeśli „Kopiuj' zostanie naciśnięty przycisk, a następnie Kopiuj hasło() zostanie wywołana funkcja kopiowania Hasła, a tekst 'Hasło skopiowane' pojawi się nad przyciskami.
# Importuj moduł tkinterimportuj tkinter
# Importuj moduły losowe i łańcuchowe
importuj losowo, ciąg
# Importuj moduł pyperclip
importuj pyperclip
# Zdefiniuj funkcję generowania losowego hasła
def Generator_Hasła():
hasło = "
for n w zakresie(lenPassword.otrzymać()):
hasło = hasło+losowe.wybór (ciąg.ascii_duże litery + ciąg.ascii_lowercase + ciąg.cyfry + ciąg.interpunkcja)
strHasło.Ustaw hasło)
# Zdefiniuj funkcję kopiowania wygenerowanego hasła
def KopiujHasło():
jeśli strPassword.otrzymać() != ":
spinacz.kopiuj(strPassword.otrzymać())
lblmsg2 = tkinter.Label(win, text='Skopiowano hasło', font='Ubuntu 12 bold',width=15)
lblmsg2.miejsce(x=105, y=120)
jeszcze:
lblmsg2 = tkinter.Label(win, text='Nic do skopiowania', font='Ubuntu 12 bold', width=15)
lblmsg2.miejsce(x=105, y=120)
# Zdefiniuj obiekt, aby wyświetlić główne okno aplikacji
wygrana = tkinter.Tk()
# Ustaw tytuł głównego okna
zdobyć.title("Generator haseł losowych")
# Ustaw wysokość i szerokość głównego okna
zdobyć.geometria("350x220")
# Ustaw pozycję okna
zdobyć.eval('tk::PlaceWindow . środek')
# Ustaw etykietę dla długości hasła
lblPassword = tkinter.Label(win, text='Ustaw długość hasła', font='Ubuntu 15 bold')
lblHasło.Pakiet()
# Ustaw typ danych długości hasła
lenPassword = tkinter.Zm.Int()
# Ustaw limit wartości długości
długość = tkinter.Spinbox(win, from_=6, to_=16, textvariable=lenPassword, width=2)
długość.opakowanie (pady=10)
# Ustaw etykietę pola hasła
lblmsg1 = tkinter.Label(win, text='Wygenerowane hasło', font='Ubuntu 12')
lblmsg1.Pakiet()
# Ustaw typ danych pola hasła
strHasło = tkinter.Zmienna ciągu()
# Zdefiniuj zmienną dla pola hasła
textData=tkinter.Wpis(win, textvariable=strPassword, width=15)
tekstDane.Pakiet()
# Zdefiniuj przycisk, aby wywołać funkcję generowania losowego hasła
btnPassword=tkinter.Przycisk(win, text="Generuj hasło", polecenie=Generator_hasła)
btnHasło.opakowanie (padx = 50, pady = 5, bok = tkinter.LEWO)
# Zdefiniuj przycisk, aby wywołać funkcję kopiowania hasła
btnCopy=tkinter.Przycisk(win, text='Kopiuj', polecenie = CopyPassword)
btnKopiuj.opakowanie (bok = tkinter.LEWO)
# Wywołaj główną pętlę Tkinter, aby otworzyć główne okno
zdobyć.główna pętla()
Wynik:
Po wykonaniu skryptu pojawi się następujące okno. 6 został ustawiony jako domyślna wartość długości hasła. Użytkownik może zwiększyć lub zmniejszyć wartość przed wygenerowaniem hasła.
Hasło składające się z 8 znaków zostało wygenerowane po ustawieniu wartości długości na 8 i naciśnięciu przycisku Wygeneruj hasło przycisk.
Hasło skopiowane komunikat pojawił się po naciśnięciu Kopiuj przycisk. Teraz to hasło może być używane w innych aplikacjach do tworzenia konta użytkownika.
Wniosek:
W tym samouczku wyjaśniono dwa różne sposoby tworzenia losowych haseł. Pierwszy przykład może być użyty, jeśli chcesz stworzyć tekstowy generator haseł, a drugi przykład może być użyty, jeśli chcesz stworzyć generator haseł oparty na GUI.