private async Task <bool> ReadAndDecrypt(byte[] buffer, int start, CancellationToken token, int extendedCount) { //We don't need to know the amount read, I think. int count = await DecoratedClient.ReadAsync(buffer, start, extendedCount, token) .ConfigureAwait(false); //IF we read nothing then that means the socket disconnected if (count == 0) { return(false); } //Check cancel again, we want to fail quick if (token.IsCancellationRequested) { return(false); } //We throw above if we have an invalid size that can't be decrypted once read. //That means callers will need to be careful in what they request to read. DecryptionServiceProvider.Crypt(buffer, start, extendedCount); //Check cancel again, we want to fail quick if (token.IsCancellationRequested) { return(false); } return(true); }
public void DecryptTest() { DecryptionServiceProvider decryptionServiceProvider = new DecryptionServiceProvider("DecryptTest"); string messageToEncrypt = "This is the test message."; string encryptedMessage = decryptionServiceProvider.Encrypt(messageToEncrypt); string decryptedMessage = decryptionServiceProvider.Decrypt(encryptedMessage); Assert.Equal(messageToEncrypt, decryptedMessage); }
/// <summary> /// The main method that initializes the needed instances and starts the HealthWatcher Management Server. /// </summary> /// <param name="args">The program expects no command line arguments.</param> private static void Main(string[] args) { string firebaseDbToken = "KXdQfwlci2Cytgg8tOJzUAJA0zgK9tflQ5Qit720"; string realtimeDatabaseLink = "https://healthwatcher-f04bf-default-rtdb.firebaseio.com"; string decryptionKey = "HealthWatcherKey"; string EIMDictionaryPath = "EIMDictionary.bin"; IDecryptionServiceProvider decryptionServiceProvider = new DecryptionServiceProvider(decryptionKey); IFirebaseClient firebaseClient = new FirebaseClient(realtimeDatabaseLink, firebaseDbToken); IExceptionLogger devLogger = new DeveloperLogger(); IExceptionLogger userLogger = new UserLogger(); Controller controller = new Controller(EIMDictionaryPath, firebaseClient, decryptionServiceProvider, devLogger); MainView mainView = new MainView(controller, userLogger); mainView.StartView(); }