Я оставлю исходный ответ ниже для исторической справки, но следует отметить, что это НЕ рабочий ответ на исходный вопрос.
Вместо этого посмотрите ответ @Terrapin, получивший наибольшее количество голосов, в этой теме в январе 2011 года. Я надеюсь, что ОП увидит это и сможет изменить принятый ответ. Черт, я даже отмечу моды, чтобы посмотреть, можно ли что-нибудь с этим поделать.
Чтобы основываться на ответе Эдварда Смита и последующих комментариях czuroski, вот мое решение.
Во-первых, вам нужна функция XOR в C#, которую я взял из здесь и немного изменен.
using System;
using System.Collections.Generic;
using System.Text;
namespace SimpleXOREncryption
{
public static class EncryptorDecryptor
{
public static string EncryptDecrypt(string textToEncrypt, int key)
{
StringBuilder inSb = new StringBuilder(textToEncrypt);
StringBuilder outSb = new StringBuilder(textToEncrypt.Length);
char c;
for (int i = 0; i < textToEncrypt.Length; i++)
{
c = inSb[i];
c = (char)(c ^ key);
outSb.Append(c);
}
return outSb.ToString();
}
}
}
Затем возьмите результат XOR и закодируйте его в base-64. Получив эту строку, хешируйте ее с помощью MD5. Результат должен соответствовать результату исходного фрагмента кода:
#Hash(Encrypt(Form.UserPassword,GetSiteVars.EnCode))#
person
Adam Tuttle
schedule
27.04.2010