public void ProtectMethodParallelLoad() { // preparation var config = new Mock <Microsoft.Extensions.Configuration.IConfiguration>(); config.Setup(_ => _["CRYPTION_KEY"]).Returns("2GH3X8zK8xeJBbwx18yxCB9T7t2xzqqVH9LzJ1cmchI="); config.Setup(_ => _["CRYPTION_IV"]).Returns("o4Pm6LJ+/q3UxwZArVLdkQ=="); config.Setup(_ => _["CRYPTION_HASH"]).Returns("2GH3X8zK8xeJBbwx18yxCB9T7t2xzqqVH9LzJ1cmchI="); config.Setup(_ => _["CRYPTION_KEY2"]).Returns("2GH3X8zK8xeJBbwx18yxCB9T7t2xzqqVH9LzJ1cmchI="); config.Setup(_ => _["CRYPTION_IV2"]).Returns("o4Pm6LJ+/q3UxwZArVLdkQ=="); var logger = new Mock <ILogger <CryptionService> >(); var instance = new CryptionService(config.Object, logger.Object); var enc = System.Text.Encoding.UTF8; var secretValue = Convert.ToBase64String(enc.GetBytes("Secret")); var option = new ParallelOptions() { MaxDegreeOfParallelism = 512 }; // action Parallel.For(0, 13000, option, i => { // action var protectSecret = instance.Protect(secretValue); var actual = instance.Unprotect(protectSecret); // assert Assert.AreEqual(secretValue, actual); }); }
public void ProtectMethod(string secret) { // preparation var config = new Mock<Microsoft.Extensions.Configuration.IConfiguration>(); config.Setup(_ => _.GetSection("CRYPTION_KEY").Value).Returns("2GH3X8zK8xeJBbwx18yxCB9T7t2xzqqVH9LzJ1cmchI="); config.Setup(_ => _.GetSection("CRYPTION_IV").Value).Returns("o4Pm6LJ+/q3UxwZArVLdkQ=="); config.Setup(_ => _.GetSection("CRYPTION_HASH").Value).Returns("2GH3X8zK8xeJBbwx18yxCB9T7t2xzqqVH9LzJ1cmchI="); config.Setup(_ => _.GetSection("CRYPTION_KEY2").Value).Returns("2GH3X8zK8xeJBbwx18yxCB9T7t2xzqqVH9LzJ1cmchI="); config.Setup(_ => _.GetSection("CRYPTION_IV2").Value).Returns("o4Pm6LJ+/q3UxwZArVLdkQ=="); var logger = new Mock<ILogger<CryptionService>>(); var instance = new CryptionService(config.Object, logger.Object); var enc = System.Text.Encoding.UTF8; var secretValue = Convert.ToBase64String(enc.GetBytes(secret)); // action var protectSecret = instance.Protect(secretValue); var actual = instance.Unprotect(protectSecret); // assert Assert.AreEqual(secretValue, actual); }