public void Should_Encrypt_And_Decrypt() { IPasswordHasher passwordHasher = new PasswordHasher(CommonHelpers, ValidationHelpers); var plainString = "Test RSA Encrypt."; var encrypted = passwordHasher.Encrypt(plainString); var encrypted1 = passwordHasher.Encrypt(plainString); var encrypted2 = passwordHasher.Encrypt(plainString); var decrypted = passwordHasher.Decrypt(encrypted); var decrypted1 = passwordHasher.Decrypt(encrypted1); var decrypted2 = passwordHasher.Decrypt(encrypted2); Assert.NotEqual(encrypted, encrypted1); Assert.NotEqual(encrypted1, encrypted2); Assert.Equal(plainString, decrypted); Assert.Equal(plainString, decrypted1); Assert.Equal(plainString, decrypted2); }
/// <inheritdoc/> public async Task ConfigureAsync(Smtp smtp) { Smtp settings = smtp.Clone(); // smtpOptions has default value if (settings.Equals(new()) is false) { settings.Password = string.Empty; using var passwordHasher = new PasswordHasher(); settings.Password = passwordHasher.Decrypt(smtp.Password, settings); // Only run if new settings are different if (this.smtp.Equals(settings) is false) { if (await ConnectAsync(settings)) { IsConfigured = true; this.smtp = settings; mailboxAddress = new MailboxAddress(settings.Name, settings.Address); logger.LogInformation("Email service was configured successfully."); } } }