public string DecryptString(string text, EncryptionTypeEnums type)
        {
            try
            {
                string password = GetPassword(type);

                byte[] baPwd = Encoding.UTF8.GetBytes(password);

                byte[] baPwdHash = SHA256.Create().ComputeHash(baPwd);

                byte[] baText = Convert.FromBase64String(text);

                byte[] baDecrypted = AES_Decrypt(baText, baPwdHash);

                int    saltLength = GetSaltLength();
                byte[] baResult   = new byte[baDecrypted.Length - saltLength];
                for (int i = 0; i < baResult.Length; i++)
                {
                    baResult[i] = baDecrypted[i + saltLength];
                }

                string result = Encoding.UTF8.GetString(baResult);
                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public string EncryptString(string text, EncryptionTypeEnums type)
        {
            try
            {
                string password = GetPassword(type);

                byte[] baPwd = Encoding.UTF8.GetBytes(password);

                byte[] baPwdHash = SHA256.Create().ComputeHash(baPwd);

                byte[] baText = Encoding.UTF8.GetBytes(text);

                byte[] baSalt      = GetRandomBytes();
                byte[] baEncrypted = new byte[baSalt.Length + baText.Length];

                for (int i = 0; i < baSalt.Length; i++)
                {
                    baEncrypted[i] = baSalt[i];
                }
                for (int i = 0; i < baText.Length; i++)
                {
                    baEncrypted[i + baSalt.Length] = baText[i];
                }

                baEncrypted = AES_Encrypt(baEncrypted, baPwdHash);

                string result = Convert.ToBase64String(baEncrypted);
                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private string GetPassword(EncryptionTypeEnums type)
        {
            switch (type)
            {
            case EncryptionTypeEnums.Member:
                return(EncryptionPassword.MemberEncryptionPassword);

            default:
                throw new Exception("Encryption password not available");
            }
        }