Я оставил исходное содержание ответа ниже для справки об истории, но следует отметить, что это НЕ рабочий ответ на исходный вопрос.
Вместо этого см. Верхний проголосовавший ответ в этой теме от @Terrapin в январе 2011 года. Надеюсь, OP видит это и может изменить принятый ответ. Черт, я даже буду отмечать моды, чтобы посмотреть, можно ли что-нибудь сделать по этому поводу.
Чтобы построить на ответ Эдварда Смита и последующих комментариев czuroski, вот мое решение.
Во-первых, вам нужна функция XOR в C#, которую я взял из here и немного изменил.
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))#
Какой алгоритм шифрования он использует? – SLaks
См. Мой ответ ниже. –
Ниже приведен код CFMX_Compat от проекта Railo, перенесенного на C# – Seibar