Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.07.2009, 11:55   #1
artush1984
Форумчанин
 
Аватар для artush1984
 
Регистрация: 27.04.2009
Сообщений: 184
По умолчанию скрыть пароль???

Всем привет!!!! У меня такой вопрос!! допустим у меня есть char password[256] и для продолжения работы программы нужно ввести его!!! только я не хочу что бы пароль печатался на терминале!!!как мне сделать что бы вместо символов строки password печатались одни *и????
Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!

Последний раз редактировалось artush1984; 29.07.2009 в 12:08.
artush1984 вне форума Ответить с цитированием
Старый 29.07.2009, 13:06   #2
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Смотря на чем ты пишешь. Если на билдере - там есть компонент вроде, который вместо символов выводит звездочки или кружочки.
Если на VC++ там свойство у стандартного TextBox есть, точно не помню как называется.
MaTBeu вне форума Ответить с цитированием
Старый 29.07.2009, 14:06   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пошли Эдиту сообщение
Код:
 SendMessage(Handle, EM_SETPASSWORDCHAR, Ord(FPasswordChar), 0);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.07.2009, 14:26   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

А если терминал = консоль, то считываем пароль посимвольно посредством _getch и посредством _putch выводим уже звёздочку или знак вопроса. Как-то так:
Код:
char password[256];
char c;
int i = 0;
while ((c = _getch()) != '\r')
{
  password[i++] = c;
  _putch('*');
}
password[i] = '\0';
pu4koff вне форума Ответить с цитированием
Старый 29.07.2009, 15:33   #5
artush1984
Форумчанин
 
Аватар для artush1984
 
Регистрация: 27.04.2009
Сообщений: 184
По умолчанию

Спасибо!! Получилось
Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
artush1984 вне форума Ответить с цитированием
Старый 29.07.2009, 20:46   #6
oleg kutkov
Unix C++ developer
Форумчанин
 
Аватар для oleg kutkov
 
Регистрация: 16.04.2007
Сообщений: 651
По умолчанию

В случае программирования под юникс, можно воспользоваться структурой termios, служащей для управления терминалом. У структуры есть поле, отвечающее за эхо печать, нужно установить его в ~ECHO. В итоге, все вводимые символы вообще не будут отображаться на экране. Такая система, все же, более криптостойкая. Т.к., в случае маскировки символов "звездочкам" на экране отображается общее количество символов, что может упростить работу брутфорсера, т.к. не будет необходимости перебирать все пароли с меньшими и большими длинами. Не стоит забывать про специальные программы, умеющие показывать скрываемые символы.
oleg kutkov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрыть ini фаил. IVANSour Общие вопросы Delphi 27 20.12.2009 21:00
Показать и скрыть фигуры Иванов_ДМ Microsoft Office Excel 5 28.04.2009 16:49
как скрыть форму? kos1nus Помощь студентам 4 08.12.2008 22:46
Как скрыть кнопку Volkogriz Общие вопросы Delphi 6 21.11.2008 19:07