> 백엔드 개발 > C++ > 표준 입력에서 암호를 에코하지 않고 어떻게 읽을 수 있습니까?

표준 입력에서 암호를 에코하지 않고 어떻게 읽을 수 있습니까?

Susan Sarandon
풀어 주다: 2024-12-22 16:24:10
원래의
217명이 탐색했습니다.

How Can I Read Passwords from Standard Input Without Echoing Them?

반향 없이 std::cin에서 비밀번호 읽기

입력 문자를 에코하지 않고 표준 입력에서 비밀번호를 읽어야 하는 필요성이 정기적으로 발생합니다. 이를 위해서는 std::cin에서 에코를 비활성화하는 것이 중요합니다.

Windows와 UNIX의 차이점

에코를 비활성화하는 방법은 운영 체제에 따라 다릅니다. Windows에서는 GetConsoleMode 및 SetConsoleMode 기능이 사용되는 반면 UNIX 계열 시스템에서는 tcgetattr 및 tcsetattr이 사용됩니다.

솔루션 구현

제공된 코드 조각에는 다음이 포함됩니다. OS에 구애받지 않는 기능인 SetStdinEcho는 에코를 토글할 수 있습니다. 표준::cin. 샘플 사용법도 제공되어 에코 없이 비밀번호를 읽은 다음 사용자가 Enter 키를 눌렀을 때 에코하는 방법을 보여줍니다.

#include <iostream>
#include <string>

int main()
{
    SetStdinEcho(false);

    std::string password;
    std::cin >> password;

    SetStdinEcho(true);

    std::cout << password << std::endl;

    return 0;
}
로그인 후 복사

이 코드는 사용자의 비밀번호가 입력되고 성공적인 입력 시 표시되는 동안 사용자의 비밀번호가 비공개로 유지되도록 보장합니다. .

위 내용은 표준 입력에서 암호를 에코하지 않고 어떻게 읽을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿