From b1c91a23b665f8b1bc00b017d701a86fae2035be Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Tue, 16 Jul 2019 19:46:56 +0200 Subject: [PATCH] masked key text --- src/connectivity_tool/conn_tool.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/connectivity_tool/conn_tool.cpp b/src/connectivity_tool/conn_tool.cpp index 6e3f49a4..666f2f8a 100644 --- a/src/connectivity_tool/conn_tool.cpp +++ b/src/connectivity_tool/conn_tool.cpp @@ -710,6 +710,20 @@ bool handle_request_stat(po::variables_map& vm, peerid_type peer_id) return true; } //--------------------------------------------------------------------------------------------------------------- +std::string get_password(const std::string& promt) +{ + std::string res; +#ifndef WIN32 + const char* ppass = getpass(promt.c_str()); + if (ppass) + res = ppass; +#else + std::cout << promt; + std::getline(std::cin, res); +#endif + return res; +} +//--------------------------------------------------------------------------------------------------------------- bool get_private_key(crypto::secret_key& pk, po::variables_map& vm) { std::string key_str; @@ -720,8 +734,7 @@ bool get_private_key(crypto::secret_key& pk, po::variables_map& vm) } else { - std::cout << "Enter maintain private key:"; - std::cin >> key_str; + key_str = get_password("Enter maintain private key:"); } if(!string_tools::hex_to_pod(key_str, pk))