Procedimiento para crear un cuadro de texto de contraseña con el control TextBox de formularios Windows Forms

Un cuadro de texto de contraseña es un cuadro de texto de Windows Forms en el que muestran caracteres marcadores de posición mientras un usuario escribe una cadena.

Para crear un cuadro de texto de contraseña

  1. Establezca la propiedad PasswordChar del control TextBox en un carácter específico.

    La propiedad PasswordChar especifica el carácter que se muestra en el cuadro de texto. Por ejemplo, si quiere que se muestren asteriscos en el cuadro de contraseña, especifique "*" para la propiedad PasswordChar en la ventana Propiedades. Después, independientemente del carácter que escriba un usuario en el cuadro de texto, se mostrará un asterisco.

  2. (Opcional). Establezca la propiedad MaxLength. La propiedad determina cuántos caracteres se pueden escribir en el cuadro de texto. Si se supera la longitud máxima, el sistema emite un pitido y el cuadro de texto no acepta más caracteres. Tenga en cuenta que es posible que no le convenga hacerlo, ya que a los hackers que intentan adivinar la contraseña podría resultarles de utilidad conocer su longitud máxima.

    En el ejemplo de código siguiente se muestra cómo se inicializa un cuadro de texto que aceptará una cadena de hasta 14 caracteres de longitud y mostrará asteriscos en lugar de la cadena. El procedimiento InitializeMyControl no se ejecuta automáticamente; es necesario llamarlo.

    Importante

    El uso de la propiedad PasswordChar en un cuadro de texto puede ayudar a impedir que otras personas determinen la contraseña de un usuario si están observando lo que escribe. Esta medida de seguridad no contempla ningún tipo de almacenamiento o transmisión de la contraseña que se produzca debido a la lógica de la aplicación. Dado que el texto escrito no está cifrado de ninguna manera, debe tratarlo igual que cualquier otro dato confidencial. Aunque no aparece como tal, la contraseña se trata como una cadena de texto sin formato (a menos que haya implementado alguna medida de seguridad adicional).

    Private Sub InitializeMyControl()
       ' Set to no text.
       TextBox1.Text = ""
       ' The password character is an asterisk.
       TextBox1.PasswordChar = "*"
       ' The control will allow no more than 14 characters.
       TextBox1.MaxLength = 14
    End Sub
    
    private void InitializeMyControl()
    {
       // Set to no text.
       textBox1.Text = "";
       // The password character is an asterisk.
       textBox1.PasswordChar = '*';
       // The control will allow no more than 14 characters.
       textBox1.MaxLength = 14;
    }
    
    private:
       void InitializeMyControl()
       {
          // Set to no text.
          textBox1->Text = "";
          // The password character is an asterisk.
          textBox1->PasswordChar = '*';
          // The control will allow no more than 14 characters.
          textBox1->MaxLength = 14;
       }
    

Consulte también