Как при ReadLine, след избрана опция, програмата да се активира, без да натискам допълнително Enter?
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace EncryptDecrypt
{
class Program
{
static void Main(string[] args)
{
string filePath = "C:\\Users\\User\\Desktop\\Proba.txt";
string input;
string key = "12345678";
while (true)
{
input = Console.ReadLine();
if (input == "a"|| input == "b")
EncryptFile(filePath, key);
else if (input == "c")
DecryptFile(filePath, key);
}
}
static void EncryptFile(string filePath, string key)
{
byte[] plainContent = File.ReadAllBytes(filePath);
using (var DES = new DESCryptoServiceProvider())
{
DES.IV = Encoding.UTF8.GetBytes(key);
DES.Key = Encoding.UTF8.GetBytes(key);
DES.Mode = CipherMode.CBC;
DES.Padding = PaddingMode.PKCS7;
using (var memStream = new MemoryStream())
{
CryptoStream cryptoStream = new CryptoStream(memStream, DES.CreateEncryptor(), CryptoStreamMode.Write);
cryptoStream.Write(plainContent, 0, plainContent.Length);
cryptoStream.FlushFinalBlock();
File.WriteAllBytes(filePath, memStream.ToArray());
}
}
}
private static void DecryptFile(string filePath, string key)
{
byte[] encrypted = File.ReadAllBytes(filePath);
using (var DES = new DESCryptoServiceProvider())
{
DES.IV = Encoding.UTF8.GetBytes(key);
DES.Key = Encoding.UTF8.GetBytes(key);
DES.Mode = CipherMode.CBC;
DES.Padding = PaddingMode.PKCS7;
using (var memStream = new MemoryStream())
{
CryptoStream cryptoStream = new CryptoStream(memStream, DES.CreateDecryptor(), CryptoStreamMode.Write);
cryptoStream.Write(encrypted, 0, encrypted.Length);
cryptoStream.FlushFinalBlock();
File.WriteAllBytes(filePath, memStream.ToArray());
}
}
}
}
}
Въпросът ми е следния - как мога да направя, след набирането на една от опциите- a,b или c, криптирането/декриптирането да се извършва без да се налага да натискам Enter?