public EncryptDecryptTest()
        {
            _mockLogger = new Mock <ILogger <EncryptionHelper> >();
            _mockKeys   = new Mock <IOptions <AESKeys> >();

            var aesKeys = new AESKeys
            {
                Key = EncryptionHelper.Base64Encode(_key),
            };

            _mockKeys.Setup(x => x.Value).Returns(aesKeys);
        }
Пример #2
0
        public MySqlConnectionProviderTest()
        {
            _mockLogger = new Mock <ILogger <EncryptionHelper> >();
            _mockKeys   = new Mock <IOptions <AESKeys> >();

            var aesKeys = new AESKeys
            {
                Key = EncryptionHelper.Base64Encode(_key),
            };

            _mockKeys.Setup(x => x.Value).Returns(aesKeys);
            _encryptionHelper = new EncryptionHelper(_mockKeys.Object, _mockLogger.Object);
        }
        public void InvalidKeyAndIvReturnSameInput()
        {
            const string textToEncrypt = "I hope I come out whole!";
            var          aesKeys       = new AESKeys
            {
                Key = "",
            };

            _mockKeys.Setup(x => x.Value)
            .Returns(aesKeys);

            var eh = new EncryptionHelper(_mockKeys.Object, _mockLogger.Object);
            var probablyEncrypted = eh.EncryptAES256(textToEncrypt);

            Assert.Equal(textToEncrypt, probablyEncrypted);
        }
Пример #4
0
        public DecryptionState Decrypt <T>(T outputStream) where T : Stream
        {
            if (AESKeys.KeyList.Count == 0)
            {
                AESKeys.InitKeys();
            }
            for (int i = 0; i < AESKeys.KeyList.Count; i++)
            {
                try
                {
                    var key = AESKeys.KeyList[i];
                    Decrypt(new RLDecryptor().GetCryptoTransform(key), outputStream);
                    AESKeys.KeyListSuccessCount[i] += 1;
                    return(DecryptionState.Success);
                }
                catch (FileNotFoundException e)
                {
                    Console.WriteLine($"Missing file!: {e.FileName}");
                    return(DecryptionState.FileMissing);
                }
                catch (Exception)
                {
                    if (i + 1 != AESKeys.KeyList.Count)
                    {
                        continue;
                    }
                    else
                    {
                        return(DecryptionState.NoMatchingKeys);
                    }
                }
            }


            return(DecryptionState.NoMatchingKeys);
        }