Ir al contenido principal

Comprobacion de password y usuario con metodos en tkinter

# -*- coding: utf-8 -*-
from Tkinter import *
import tkMessageBox

def usercomp():
    cuser=user.get()
    longitud=len(cuser)
    notnum=cuser.isalnum()
    if notnum == False:
        tkMessageBox.showinfo("Error", "El nombre de usuario puede contener solo letras y números")
    elif longitud < 6:
        tkMessageBox.showinfo("Error","El nombre de usuario debe contener al menos 6 caracteres")
    elif longitud > 12:
        tkMessageBox.showinfo("Error", "El nombre de usuario no puede contener más de 12 caracteres")
    elif longitud > 5 and longitud < 13 and notnum == True:
        return True

def clavecomp():
    cpasword=pasword.get()
    validar = False  # que se vayan cumpliendo los requisitos uno a uno.
    long = len(cpasword)  # Calcula la longitud de la contraseña
    espacio = False  # variable para identificar espacios
    mayuscula = False  # variable para identificar letras mayúsculas
    minuscula = False  # variable para contar identificar letras minúsculas
    numeros = False  # variable para identificar números
    y = cpasword.isalnum()  # si es alfanumérica retona True
    correcto = True  # verifica que hayan mayuscula, minuscula, numeros y no alfanuméricos

    for carac in cpasword:  # ciclo for que recorre caracter por caracter en la contraseña

        if carac.isspace() == True:  # Saber si el caracter es un espacio
            espacio = True  # si encuentra un espacio se cambia el valor user

        if carac.isupper() == True:  # saber si hay mayuscula
            mayuscula = True  # acumulador o contador de mayusculas

        if carac.islower() == True:  # saber si hay minúsculas
            minuscula = True  # acumulador o contador de minúsculas

        if carac.isdigit() == True:  # saber si hay números
            numeros = True  # acumulador o contador de numeros

    if espacio == True:  # hay espacios en blanco
        tkMessageBox.showinfo("Error en la contraseña", "La contraseña no puede contener espacios")
    else:
        validar = True  # se cumple el primer requisito que no hayan espacios

    if long < 8 and validar == True:
        tkMessageBox.showinfo("Error en la contraseña ","Mínimo 8 caracteres")
        validar = False  # cambia a Flase si no se cumple el requisito móinimo de caracteres

    if mayuscula == True and minuscula == True and numeros == True and y == False and validar == True:
        validar = True  # Cumple el requisito de tener mayuscula, minuscula, numeros y no alfanuméricos
    else:
        correcto = False  # uno o mas requisitos de mayuscula, minuscula, numeros y no alfanuméricos no se cumple

    if validar == True and correcto == False:
        tkMessageBox.showinfo("Aviso",
            "La contraseña elegida no es segura: debe contener letras minúsculas, mayúsculas, números y al menos 1 carácter no alfanumérico")

    if validar == True and correcto == True:
        return True

def validation():
    correcto = False
    if correcto == False:

        if usercomp() == True:

            correcto = True

            if correcto == True:
                if clavecomp() == True:
                    tkMessageBox.showinfo("Aviso", "Usuario y contraseña creados exitosamente")
                    correcto = False

raiz=Tk()
raiz.title("ventana primaria")
raiz.resizable(1,1) #para permitir agrandar o no el ancho o la altura con el moyuse
raiz.iconbitmap("descarga.ico")
#raiz.geometry("500x600")
raiz.config(bg="cyan")
raiz.config(bd=15)
raiz.config(relief="groove")

miFrame=Frame(raiz)
miFrame.pack()
miFrame.config(bg="pink")
miFrame.config(bd=10)
miFrame.config(relief="sunken")
miFrame.config(cursor="hand2")

miLabel1=Label(miFrame, text="Ingrese sus datos", fg="red",bg="pink",font=("Arial",18)).grid(row=0,column=0,pady="4")
nombreusuarioLabel=Label(miFrame, text="Nombre usuario: ",bg="pink").grid(row=3,column=0, sticky="w",pady="1")
contrasenaLabel=Label(miFrame, text="Contraseña: ",bg="pink").grid(row=4,column=0,sticky="w",pady="1")

user=StringVar()
pasword=StringVar()


cuadronombreusuario=Entry(miFrame, textvariable=user)
cuadronombreusuario.grid(row=3,column=1,pady="1")
cuadronombreusuario.config(fg="blue", justify="center")

cuadrocontrasena=Entry(miFrame, textvariable=pasword)
cuadrocontrasena.grid(row=4,column=1,pady="1")
cuadrocontrasena.config(show="*",fg="blue", justify="center")

botonEnvio=Button(raiz, text= "Enviar",command=validation)
botonEnvio.pack()


raiz.mainloop()


Interfaz: 


Comentarios

Entradas populares de este blog

Comandos CMD

Todas las versiones de Windows incluyen una serie de comandos que permiten transmitir órdenes directamente al sistema operativo. Son simples instrucciones que se pueden usar de formas diferentes, con la herramienta Símbolo del Sistema o usándolos en archivos batch. El Símbolo del Sistema, Consola de CMD o intérprete de comandos, es una herramienta incluida en todas las versiones de Windows.  Cls:   Este comando limpia la ventana de CMD eliminando el contenido de operaciones anteriores. Exit:   Cierra la ventana de CMD. Si se ha iniciado un comando de procesado por lotes cierra el proceso, pero mantiene CMD abierto. Help:   Muestra todos los comandos disponibles y una breve descripción. Si quieres obtener información sobre un comando en concreto o  cómo formar la sintaxis de un determinado comando , escribe el comando seguido de una barra diagonal y un signo de interrogación. Por ejemplo:  cd /? Cd:  Este es uno de los comandos más útiles par...

SOFTWARE PARA GRAFICACIÓN

REVIT Es una aplicación de software única que admite flujos de trabajo  BIM  (Inglés) desde el concepto hasta la construcción. Use Revit para modelar diseños con precisión, optimizar el rendimiento y colaborar de forma más eficaz. MAYA Herramientas para creación de personajes y animación. El software Maya® le ayuda a abordar producciones desafiantes de creación de personajes y animación digital. Obtenga potentes herramientas 3D integradas en un sólido y ampliable núcleo de estructura productiva CG. SOLIDWORKS Es un software CAD (diseño asistido por computadora) para modelado mecánico en 3D, desarrollado en la actualidad por SolidWorks Corp., una filial de Dassault Systèmes, S.A. (Suresnes, Francia), para el sistema operativo Microsoft Windows. Su primera versión fue lanzada al mercado en 1995 con el propósito de hacer la tecnología CAD más accesible. El programa permite modelar piezas y conjuntos y extraer de ellos ...

1.2 Dispositivos de hardware y software para el despliegue gráfico.

Hardware: Un sistema gráfico tradicional consta de cuatro componentes: procesador, unidad de procesamiento gráfico, dispositivos de entrada y dispositivos de salida. El procesador desempeña un papel central en cualquier sistema gráfico y cada uno de los demás componentes debe comunicarse en algún momento con otro, o con el procesador mediante un canal de datos. Generalmente el dispositivo principal de salida de un sistema gráfico es un monitor de video. El tipo más común es un CRT y actualmente se incrementa el uso de los LCD. La cantidad de memoria de video requerida para almacenar una pantalla se determina multiplicando el número de pixeles horizontales, el número de pixeles verticales y el número de bytes usados para codificar un pixel. Memoria de video = Res. H x Res. V x Núm. de bytes por pixel Cada pixel se codifica mediante un conjunto de bits de longitud determinada (la llamada profundidad de color ), por ejemplo, puede codificarse un pixel con un byte, u 8 bit...