Moduł Python GetPass

Moduł Python GetPass
Wszyscy trzymamy tajemnice, prawda?? Nawet nasze programy tak robią. Ważną rzeczą w tajemnicach jest to, że musimy je bezpiecznie i potajemnie ukryć przed podmiotami, które nie powinny mieć dostępu do tych tajnych klawiszy, fraz lub hasła, które pozwoli użytkownikom robić coś, do czego nie są upoważnieni. Ta sama ostrożność należy zachować, gdy akceptujemy tajne klucze, frazy podań lub hasło od użytkowników w naszych programach, takich jak tajny ciąg. Python przejść dalej Moduł pozwala nam to robić wydajnie.

Moduł Python GetPass

Za pomocą Pythona przejść dalej Moduł, można zaakceptować hasła w programach Python i zapewnić bezpieczne pasy. Zobaczymy przykłady bezpieczeństwa haseł, a także w jaki sposób możemy przesyłać strumieniowo hasła z terminalu na pliki tekstowe. Zacznijmy od kilku przykładów.

Python GetPass Podstawowy przykład

W tym przykładzie zaczniemy od bardzo podstawowego przykładu, w jaki sposób możemy uczynić użytkownika wprowadzenie hasła w terminalu i upewnić się, że hasło nie jest powtórzone do wiersza polecenia. Oto ten sam program:

Import GetPass
próbować:
hasło = getPass.przejść dalej()
z wyjątkiem wyjątku jako np.:
print („Błąd wystąpił:”, ex)
w przeciwnym razie:
drukuj („Wprowadź hasło:”, hasło)

Oto, co wracamy z tym poleceniem:

Uzyskaj sekret hasła

Hasło ciągu jest domyślną monitem, który jest prezentowany przez skrypt Python. W następnym przykładzie będzie to dostosować do czegoś, co chcielibyśmy użyć w naszych programach.

Python GetPass z niestandardowym monitem

W tym przykładzie dostosujemy monit pokazany użytkownikowi, gdy Python poprosi o tajne wyrażenie:

Import GetPass
PWD = GetPass.getPass (monit = ', która jest najlepszą wyspą Ubuntu do odwiedzenia?')
Jeśli PWD == „Linuxhint”:
wydruku („Oczywiście!')
w przeciwnym razie:
Drukuj („gdzie to jest?')

Zobaczmy dane wyjściowe tego polecenia:

Niestandardowy wiersz, aby uzyskać hasło

To polecenie jest przydatne, gdy chcesz poprosić o paznokcia oprócz sznurków haseł.

Stream hasło do innego streamu

przejść dalej Moduł pozwala nam przesyłać strumieniowo hasło, które użytkownik wprowadza do innych strumieni, takich jak plik, dzienniki lub cokolwiek, co można reprezentować jako strumień. Musimy tylko przekazać strumień do samej funkcji:

Import GetPass
Import Sys
PWD = GetPass.getPass (strumień = sys.Stderr)
Drukuj („Wprowadzone hasło:”, PWD)

Oto, co wracamy z tym poleceniem:

Przesyłanie strumieniowe hasło do innych strumieni

Uzyskiwanie haseł bez terminalu

Python przejść dalej moduł potrzebuje tty, które można kontrolować za pomocą termios. Ma to zastosowanie, gdy pracujemy z niektórymi systemami opartymi na Unix. Dzięki temu echo można wyłączyć. Kiedy wykonujemy następujący przykład na komputerze innym niż Unix:

Echo „Not Dark” | Python3 getPass_defaults.py

Oto, co wracamy z tym poleceniem:

polecenie termios

Gdy uruchomiliśmy skrypt na komputerze innym niż Unix, ciąg wyjściowy był tym, co wprowadziliśmy. W przeciwnym razie po prostu byśmy widzieli nieciemny Ciąg jako wyjście na terminalu.

Przeczytaj więcej o Terminale teletypowe Tutaj.

Wniosek

W tej lekcji przyjrzeliśmy się, w jaki sposób możemy skorzystać z Pythona przejść dalej Moduł do efektywnego zarządzania tajnymi paskami w naszych programach Python.