다음을 통해 공유


방법: Windows Forms TextBox 컨트롤을 사용하여 암호 텍스트 상자 만들기

암호 상자는 사용자가 문자열을 입력하는 동안 자리 표시자 문자를 표시하는 Windows Forms 텍스트 상자입니다.

암호 텍스트 상자를 만들려면

  1. TextBox 컨트롤의 PasswordChar 속성을 특정 문자로 설정합니다.

    PasswordChar 속성은 텍스트 상자에 표시되는 문자를 지정합니다. 예를 들어 암호 상자에 별표를 표시하려면 속성 창의 PasswordChar 속성에 *를 지정합니다. 그러면 사용자가 텍스트 상자에 입력하는 문자에 관계없이 별표가 표시됩니다.

  2. (선택 사항) MaxLength 속성을 설정합니다. 속성은 텍스트 상자에 입력할 수 있는 문자 수를 결정합니다. 최대 길이를 초과하면 시스템에서 경고음을 내보내고 텍스트 상자에서 더 이상 문자를 허용하지 않습니다. 암호를 추측하려는 해커에게 암호의 최대 길이가 유용할 수 있으므로 이 작업을 수행하지 않는 것이 좋습니다.

    다음 코드 예제에서는 최대 14자의 문자열을 허용하고 문자열 대신 별표가 표시되는 텍스트 상자를 초기화하는 방법을 보여 줍니다. InitializeMyControl 프로시저는 자동으로 실행되지 않으며 호출되어야 합니다.

    중요

    텍스트 상자에 PasswordChar 속성을 사용하면 사용자가 암호를 입력하는 것을 다른 사람이 관찰하는 경우에도 사용자의 암호를 확인할 수 없도록 할 수 있습니다. 이 보안 조치는 애플리케이션 논리로 인해 발생할 수 있는 모든 종류의 암호 스토리지 또는 전송을 포함하지 않습니다. 입력한 텍스트는 어떤 방식으로도 암호화되지 않으므로 다른 기밀 데이터와 마찬가지로 처리해야 합니다. (몇 가지 추가 보안 조치를 구현하지 않은 경우) 이렇게 일반 텍스트 문자열로 표시되지 않더라도 암호는 여전히 일반 텍스트 문자열로 처리되고 있습니다.

    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;
       }
    

참고 항목