Exemplo n.º 1
0
        public void When_encrypt_And_decrypt_Then_plaintext_are_the_same()
        {
            var cipher    = _sut.Encrypt(Plaintext);
            var plaintext = _sut.Decrypt(cipher.cipherText, cipher.entropy);

            Assert.AreEqual(Plaintext, plaintext);
        }
        public async Task <Pbkdf2Model> Decrypt(string path, string entropy)
        {
            _stringValidator.IsNullOrWhitespace(path, nameof(path));
            _stringValidator.IsNullOrWhitespace(entropy, nameof(entropy));
            _fileValidator.IsExist(path);

            var content = await _diskService.ReadFileText(path);

            var plaintext = _pbkdF2Service.Decrypt(content, entropy);

            var fields = ProcessFileHelper.ProcessContent(plaintext);

            var result = new Pbkdf2Model(fields);

            var environmentVariables = ProcessFileHelper.ExtractEnvironmentVariables(result.Fields);

            var environmentVariablesValues = _environmentVariableReader.Read(environmentVariables);

            result = ProcessEnvironmentVariables(result, environmentVariablesValues);

            return(result);
        }