Módulo getpass de Python
Usando Python conseguir pase módulo, es posible aceptar contraseñas en programas de Python y mantener las contraseñas seguras. Veremos ejemplos de cómo mantener seguras las contraseñas y también cómo podemos transmitir contraseñas desde el terminal a archivos de texto. Comencemos con algunos ejemplos.
Ejemplo básico de Python getpass
En este ejemplo, comenzaremos con un ejemplo muy básico de cómo podemos hacer que un usuario ingrese una contraseña en el terminal y se asegure de que la contraseña no se repita en el símbolo del sistema. Aquí está el mismo programa:
importar getpassintentar:
contraseña = getpass.conseguir pase()
excepto Excepción como ex:
print ('Error ocurrido:', ex)
demás:
print ('Contraseña ingresada:', contraseña)
Esto es lo que obtenemos con este comando:
Obtener el secreto de la contraseña
La contraseña de cadena es el mensaje predeterminado que se presenta en el script de Python. En el siguiente ejemplo lo personalizaremos con algo que nos gustaría usar en nuestros programas.
Getpass de Python con indicador personalizado
En este ejemplo, personalizaremos el mensaje que se muestra al usuario cuando Python solicita una frase secreta:
importar getpasspwd = getpass.getpass (prompt = '¿Cuál es la mejor isla de Ubuntu para visitar??')
si pwd == 'LinuxHint':
print ('Por supuesto!')
demás:
print ('¿Dónde está eso??')
Veamos el resultado de este comando:
Mensaje personalizado para obtener la contraseña
Este comando es útil cuando desea solicitar algunas frases de contraseña además de cadenas de contraseña.
Transmitir contraseña a otro streaml
La conseguir pase El módulo nos permite transmitir la contraseña que ingresa un usuario a otras transmisiones como un archivo, registros o cualquier cosa que pueda representarse como una transmisión en realidad. Solo necesitamos pasar la secuencia a la función en sí:
importar getpassimportar sys
pwd = getpass.getpass (stream = sys.stderr)
print ('Contraseña ingresada:', pwd)
Esto es lo que obtenemos con este comando:
Transmisión de contraseña a otras transmisiones
Obtener contraseñas sin terminal
El pitón conseguir pase El módulo necesita tty que puede ser controlado por un termios. Esto es aplicable cuando estamos trabajando con algunos sistemas basados en Unix. Con esto, el eco se puede desactivar. Cuando ejecutamos el siguiente ejemplo en una máquina que no es Unix:
echo "no oscuro" | python3 getpass_defaults.pyEsto es lo que obtenemos con este comando:
comando termios
Mientras ejecutamos el script en una máquina que no es Unix, la cadena de salida fue lo que ingresamos. De lo contrario, simplemente hubiéramos visto no oscuro Cadena como salida en el terminal.
Leer más sobre terminales de teletipo aquí.
Conclusión
En esta lección, analizamos cómo podemos hacer uso de Python conseguir pase módulo para administrar frases de contraseña secretas de manera eficiente en nuestros programas de Python.