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

 
Previous Post Perl 펄] 암호, 패스워드 입력 받기; 글자 화면에 보이지 않게; Input Passw...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...

Perl 펄] 패스워드/암호 유효성 검사, 최소 글자 수 제한; Get Verify Password

Sunday, May 20, 2007
스폰서 링크

사용자로부터 입력 받은 암호의 유효성을 검사하는 예제입니다. 암호가 맞는지 틀리는지 검사하는 것이 아니라, 암호의 형식입니다.

즉, 최소 6글자 이상 되어야 하고, 알파벳/숫자/특수기호(공백 제외)만으로 이루어져야 합니다. 그렇지 않으면 다시 입력받습니다.

6자 이상의 암호만 입력 받기 예제


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

use Term::ReadKey;

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


  for (;;) { # 암호를 올바른 형식으로 입력할 때까지 무한루프
    $pw = getPassword();
    if (verifyPassword($pw)) { # 패스워드 유효성 검사
      print "입력받은 암호: [$pw] (실제 프로그램에서는 이런 부분이 있으면 안됨)\n";
      last; # 루프 탈출
    } else { # 유효하지 않은 문자로 되어 있으면
      print "알파벳/숫자/기호(공백 제외)를 6자 이상 입력해야 합니다.\n";
    }
  }



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

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


# 패스워드 검증 함수
sub verifyPassword {
  my $password = shift;
  return 0 if (length($password) < 6);

  my @a = unpack "C*", $password;
  foreach (@a) {
    return 0 if ($_ < 0x21 || $_ > 0x7E);
  }

  return 1;
}



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

D:\Z>example.pl
암호를 입력하세요 (화면에 나타나지 않음).
알파벳/숫자/기호(공백 제외)를 6자 이상 입력해야 합니다.
입력받은 암호: [agfsgsa] (실제 프로그램에서는 이런 부분이 있으면 안됨)

D:\Z>example.pl
암호를 입력하세요 (화면에 나타나지 않음).
알파벳/숫자/기호(공백 제외)를 6자 이상 입력해야 합니다.
알파벳/숫자/기호(공백 제외)를 6자 이상 입력해야 합니다.
알파벳/숫자/기호(공백 제외)를 6자 이상 입력해야 합니다.
입력받은 암호: [sfsfsfsas] (실제 프로그램에서는 이런 부분이 있으면 안됨)

D:\Z>



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

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top