首頁 >後端開發 >C++ >如何使用 std::cin 安全地讀取密碼而不回顯到控制台?

如何使用 std::cin 安全地讀取密碼而不回顯到控制台?

Susan Sarandon
Susan Sarandon原創
2024-12-23 22:34:10913瀏覽

How Can I Securely Read Passwords Using std::cin Without Echoing to the Console?

使用std::cin 保護密碼輸入

取得敏感使用者資訊(例如密碼)時,防止輸入的字元至關重要出於隱私考慮,螢幕上出現了迴聲。為了使用 std::cin 實現此目的,採用了特定於平台的機制。

Windows 解決方案:

Windows 使用 SetConsoleMode 函數來切換回顯行為。下面的程式碼片段透過清除ENABLE_ECHO_INPUT 標誌來設定停用回顯:

Unix (Linux/macOS) 解決方案:

基於Unix 的系統依賴於termios 函式庫及其tcsetattr 函數。以下是關閉迴聲的程式碼:

範例用法:

使用迴聲停用功能後,以下是如何使用 std::cin來安全地讀取密碼:

透過採用這些特定於平台的方法,您可以確保使用者密碼不會在螢幕上回顯,從而維護應用程式中的隱私和安全。

以上是如何使用 std::cin 安全地讀取密碼而不回顯到控制台?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn