/// <summary> /// Decrypt a string. /// </summary> /// <param name="encryptedText">String to be decrypted</param> /// <param name="password">Password used during encryption</param> /// <exception cref="FormatException"></exception> public static string Decrypt(string encryptedText, string password) { if (encryptedText == null) { return(null); } if (password == null) { password = String.Empty; } // Get the bytes of the string try { var bytesToBeDecrypted = Convert.FromBase64String(encryptedText); var passwordBytes = Encoding.UTF8.GetBytes(password); passwordBytes = SHA256.Create().ComputeHash(passwordBytes); var bytesDecrypted = SHA256Crypt.Decrypt(bytesToBeDecrypted, passwordBytes); return(Encoding.UTF8.GetString(bytesDecrypted)); } catch (Exception) { return(null); } }