private static byte[] ComputeHash(string templateName, IDictionary<string, object> templateData)
{
string identifier = templateName;
foreach (var keyValue in templateData)
{
identifier += keyValue.Key + keyValue.Value;
}
byte[] hash;
using (var sha512 = new SHA512Managed())
{
hash = sha512.ComputeHash(Encoding.Unicode.GetBytes(identifier));
}
return hash;
}