컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post Perl 펄] 사용자 문자열 입력 받기; 키보드 문장 입력; Input STDINPerl 펄] getch 함수; 키보드에서 영문 1글자 입력 받기; Enter키 칠 필요 ...디카(DSLR)로, 텔레비전 화면 찍기, TV 브라운관 촬영법; How to Shoot T...3M 귀마개 좋은 것 구매기, 실물 사진; 쓰리엠 3M 1100 Ear Plug 29dB디카, 풍경 사진 촬영용으로 좋은 단렌즈(단초점 렌즈)는; Landscape LensPHP CLI 예제] 도스 DIR / ls 명령 구현 소스; 파일 목록(File List)...C언어] 파일명 변경, 디렉토리명 바꾸기; 리네임 함수; File Dir RenamePerl 펄] 파일명 변경, 디렉토리명 바꾸기; 리네임 함수; File Dir Rename...Perl 펄] 디카 메타 정보를, JPG, RAW (NEF) 파일명으로 변경 유틸리티; E...C언어] 중첩 for문, 겹쳐진 for루프 예제 소스; Nested 'for' Loop

Perl 펄] 암호, 패스워드 입력 받기; 글자 화면에 보이지 않게; Input Password

Sunday, May 20, 2007
스폰서 링크

사용자로부터 패스워드(암호)를 입력받되, 키보드로 타이핑하는 암호가 화면에 출력되지 않게 하는 방법입니다. 아래 예제의 getPassword 라는 함수(서브루틴)을 사용하면 됩니다.

패스워드 입력 받기 예제


파일명: example.pl
#!/usr/bin/perl
use strict; use warnings;

use Term::ReadKey;

  print "암호를 입력하세요 (화면에 나타나지 않음).\n";
  my $pw;


  for (;;) { # 암호 입력할 때까지 무한루프
    if ($pw = getPassword()) {
      print "입력받은 암호: [$pw] (실제 프로그램에서는 이런 부분이 있으면 안됨)\n";
      last; # 루프 탈출
    } else {
      print "암호를 입력해 주세요.\n";
    }
  }



# 보이지 않게 패스워드 입력 받기 함수
sub getPassword {
  ReadMode 'noecho';
  my $s = <STDIN>;
  ReadMode 'normal';

  chomp($s); # 입력받은 문자열 끝의 개행문자 제거
  return $s;
}



실행 결과 화면:
D:\Z>example.pl
암호를 입력하세요 (화면에 나타나지 않음).
입력받은 암호: [aaaaa] (실제 프로그램에서는 이런 부분이 있으면 안됨)

D:\Z>example.pl
암호를 입력하세요 (화면에 나타나지 않음).
입력받은 암호: [gvvvv] (실제 프로그램에서는 이런 부분이 있으면 안됨)

D:\Z>example.pl
암호를 입력하세요 (화면에 나타나지 않음).
암호를 입력해 주세요.
암호를 입력해 주세요.
암호를 입력해 주세요.
암호를 입력해 주세요.
입력받은 암호: [sss] (실제 프로그램에서는 이런 부분이 있으면 안됨)

D:\Z>



입력된 암호가 유효한 문자들로 이루어져 있는지 검사하는 예제: ▶▶ Perl 펄] 패스워드/암호 유효성 검사, 최소 글자 수 제한; Get Verify Password

▶▶ Perl 펄] 사용자 문자열 입력 받기; 키보드 문장 입력; Input STDIN

0 Comments:

Post a Comment

Categories
Previous Posts
Monthly Archives
Top