![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| nmn |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 593 Регистрация: 26.11.2005 Репутация: 1 Всего: 1 |
а каким образом можно загрузить значение в SecureString минуя использование string?
|
|||
|
||||
| Мурлыкатам_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 5.2.2007 Где: город-герой Минск Репутация: нет Всего: 2 |
А каким образом можно загрузить значение в SecureString используя string?
|
|||
|
||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 5 Всего: 36 |
nmn,
любым из доступных методов инициализации |
|||
|
||||
| Мурлыкатам_ |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 5.2.2007 Где: город-герой Минск Репутация: нет Всего: 2 |
Доступные методы инициализации:
1) с использованием указателя на массив чаров в unsafe контексте public SecureString(char* value, int length) Member of System.Security.SecureString Summary: Initializes a new instance of the System.Security.SecureString class from a subarray of System.Char objects. Parameters: value: A pointer to an array of System.Char objects. length: The number of elements of value to include in the new instance. 2) или без параметров public SecureString() Member of System.Security.SecureString Summary: Initializes a new instance of the System.Security.SecureString class. Rififi, Или есть еще какие-то методы инициализации? Со строкой я догадался только так делать:
Как я понимаю, без использования массива чаров или указателя на него, или передачи по одному чару, инициализировать SecureString не получиться.
Выходит есть минимум два варианта: 1) использовать массив чаров и в цикле, используя метод AppendChar загонять массив в SecureString 2) в unsafe контексте создать массив чаров, получить указатель на него, размер массива и создать экзмепляр SecureString с этими параметрами Или как-то можно еще? |
||||
|
|||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 5 Всего: 36 |
Мурлыкатам_,
Или есть еще какие-то методы инициализации? Это был ответ nmn, он спрашивал, как загрузить значение в SecureString без использования string ни один из способов инициализации/заполнения SecureString'а не использует класс string, поэтому можно выбирать любой |
|||
|
||||
| Мурлыкатам_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 5.2.2007 Где: город-герой Минск Репутация: нет Всего: 2 |
Аааа... я так не играю
я просто читал по диагонали и не заметил слово "доступным" |
|||
|
||||
| nmn |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 593 Регистрация: 26.11.2005 Репутация: 1 Всего: 1 |
ну например, пароль вводится в консоли, там придется использовать string
|
|||
|
||||
| Мурлыкатам_ |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 5.2.2007 Где: город-герой Минск Репутация: нет Всего: 2 |
Но можно использовать и Console.ReadKey:
И опять няма стринга Се равно делать нечего:
Вызов из Main:
Это сообщение отредактировал(а) Мурлыкатам_ - 1.4.2009, 13:38 |
||||||
|
|||||||
| nmn |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 593 Регистрация: 26.11.2005 Репутация: 1 Всего: 1 |
с консолью убедили, спасибо
|
|||
|
||||
| Мурлыкатам_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 5.2.2007 Где: город-герой Минск Репутация: нет Всего: 2 |
c GUI
Берешь и обрабатываешь KeyDown event (или че-нить в том же духе) Но просто интересно, что же сделал тебе стринг? ЗЫ: KeyPress нуна обрабатывать
Единственно, что нужно сразу понимать, какие возникнут проблемы если юзеры будут тискать бэк спэйсы и другие "не хорошие" кнопки и соответствующим образом это обработать. ЗЫЗЫ: А почему сразу не реализовать сканер сетчатки глаза? Это сообщение отредактировал(а) Мурлыкатам_ - 3.4.2009, 18:03 |
|||
|
||||
| nmn |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 593 Регистрация: 26.11.2005 Репутация: 1 Всего: 1 |
securestring был сделан чтобы пароли не лежали в памяти в открытом виде к тому же у программиста нет прямой возможности удалить пароль так как строки неизменяемы
может в gui есть специальный для этого контрол? ведь есть же в win32 специальное поле ввода для паролей |
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 13 Всего: 49 |
||||
|
||||
| Мурлыкатам_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 5.2.2007 Где: город-герой Минск Репутация: нет Всего: 2 |
Судя по комментам, контрол не адекватный. В личных целях 'for fun' может и сойдет
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |