public RSAEncryption(string containerName, string username)
        {
            _containerName = containerName;
            _username      = username;

            RSAContainerFactory.Create(containerName, username)
            .Dispose();
        }
        public byte[] EncryptData(byte[] data)
        {
            if (_publicKey == null)
            {
                using (RSACryptoServiceProvider rsaCryptoServiceProvider = RSAContainerFactory.Create(_containerName, _username))
                {
                    return(rsaCryptoServiceProvider.Encrypt(data, RSAEncryptionPadding.Pkcs1));
                }
            }

            using (RSACryptoServiceProvider rsaCryptoServiceProvider = RSAContainerFactory.CreateFromPublicKey(_publicKey))
            {
                return(rsaCryptoServiceProvider.Encrypt(data, RSAEncryptionPadding.Pkcs1));
            }
        }