1. Как получать код вводимого с клавиатуры символа сразу после нажатия на клавишу(ввод из консоли)? Console.Read возвращает введённый символ только после нажатия на Enter. Ввод пароляя целиком (одной строкой) не подойдёт, т.к. нужно запоминать время ввода каждого символа.
2. Как подавлять вывод вводимых символов на экран или заменять их на звёздочки?
3. Следующий фргамент кода, написанный в тяжких мучениях
string input = Console.ReadLine();
MemoryStream stringInMemory = new MemoryStream();
stringInMemory.Capacity = 10000;
StreamWriter writer = new StreamWriter( stringInMemory );
writer.AutoFlush = true;
writer.WriteLine( input );
HashAlgorithm hashAlgorithm = new SHA1CryptoServiceProvider();
ICryptoTransform cryptoTransform = (hashAlgorithm as ICryptoTransform);
CryptoStream cryptoStream = new CryptoStream( stringInMemory , cryptoTransform , CryptoStreamMode.Read );
int result;
byte[] hash = new byte[ 20 ];
result = cryptoStream.Read( hash , 0 , 20 );
Где косяк?
Если кто-нибудь подскажет способ для преобразования типа string в тип byte[] буду крайне признателен.