Módulo Python GetPass

Módulo Python GetPass
Todos nós mantemos segredos, não nós? Até nossos programas fazem. O importante dos segredos é que devemos mantê-los com segurança e secretamente ocultos de entidades que não deveriam ter acesso a essas chaves secretas, frases de passagem ou senha que permitirão que os usuários façam algo que eles não estão autorizados a fazer. O mesmo cuidado precisa ser tomado quando aceitamos chaves secretas, frases de passagem ou senha de usuários em nossos programas como a sequência secreta não devem ser ecoados quando os digitamos na tela. O python Obter passagem Módulo nos permite fazer isso com eficiência.

Módulo Python GetPass

Usando python Obter passagem Módulo, é possível aceitar senhas em programas Python e manter as passageiras seguras. Veremos exemplos de manter senhas seguras e também como podemos transmitir senhas do terminal para os arquivos de texto. Vamos começar com alguns exemplos.

Python GetPass Exemplo básico

Neste exemplo, começaremos com um exemplo muito básico de como podemos fazer um usuário inserir uma senha no terminal e garantir que a senha não seja ecoada de volta ao prompt de comando. Aqui está o mesmo programa:

importar getPass
tentar:
senha = getPass.Obter passagem()
Exceto exceção como ex:
Imprima ('Ocorreu o erro:', ex)
outro:
Print ('Senha digitada:', senha)

Aqui está o que recebemos com este comando:

Obtenha a senha segredo

A senha da string é o prompt padrão que é apresentado pelo script python. No próximo exemplo, estará personalizando isso para algo que gostaremos de usar em nossos programas.

Python GetPass com prompt personalizado

Neste exemplo, personalizaremos o prompt que é mostrado ao usuário quando Python solicitar uma frase secreta:

importar getPass
pwd = getPass.getPass (prompt = ', que é a melhor ilha de Ubuntu para visitar?')
Se PWD == 'Linuxhint':
Impressão ('Claro!')
outro:
print ('onde está isso?')

Vamos ver a saída para este comando:

Prompt personalizado para obter senha

Este comando é útil quando você deseja pedir algumas sessões além das seqüências de senha.

Transmitir senha para outro açoite

O Obter passagem Módulo nos permite transmitir a senha que um usuário insere para alguns outros fluxos, como um arquivo, logs ou qualquer coisa que possa ser representada como um fluxo na verdade. Só precisamos passar o fluxo para a própria função:

importar getPass
Importar sistemas
pwd = getPass.getPass (stream = sys.stderr)
Print ('Senha inserida:', PWD)

Aqui está o que recebemos com este comando:

Transmissão de senha para outros fluxos

Obtendo senhas sem terminal

O python Obter passagem módulo precisa de tty que possa ser controlado por um Termios. Isso é aplicável quando estamos trabalhando com alguns sistemas baseados em UNIX. Com isso, o eco pode ser desativado. Quando executamos o exemplo a seguir em uma máquina não unix:

eco "não escuro" | python3 getpass_defaults.py

Aqui está o que recebemos com este comando:

comando terios

Enquanto executamos o script em uma máquina não unix, a sequência de saída foi o que entramos. Caso contrário, teríamos simplesmente visto não escuro String como saída no terminal.

Leia mais sobre Terminais de teletipo aqui.

Conclusão

Nesta lição, analisamos como podemos usar o Python Obter passagem Módulo para gerenciar as sessões secretas com eficiência em nossos programas Python.