/// <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 var bytesToBeDecrypted = Convert.FromBase64String(encryptedText); var passwordBytes = Encoding.UTF8.GetBytes(password); passwordBytes = SHA256.Create().ComputeHash(passwordBytes); var bytesDecrypted = StringCrypt.Decrypt(bytesToBeDecrypted, passwordBytes); return(Encoding.UTF8.GetString(bytesDecrypted)); }
/// <summary> /// Encrypt a string. /// </summary> /// <param name="plainText">String to be encrypted</param> /// <param name="password">Password</param> public static string Encrypt(string plainText, string password) { if (plainText == null) { return(null); } if (password == null) { password = String.Empty; } // Get the bytes of the string var bytesToBeEncrypted = Encoding.UTF8.GetBytes(plainText); var passwordBytes = Encoding.UTF8.GetBytes(password); // Hash the password with SHA256 passwordBytes = SHA256.Create().ComputeHash(passwordBytes); var bytesEncrypted = StringCrypt.Encrypt(bytesToBeEncrypted, passwordBytes); return(Convert.ToBase64String(bytesEncrypted)); }