ActionScript должен использовать другую строковую кодировку, но мне неясно, какую (я пытался найти в Google, но найти ее очень сложно).
Поэтому я рекомендую попробовать следующее:
Console.WriteLine(ToHex(MD5.Create().ComputeHash(Encoding.UTF8.GetBytes("ä"))));
Console.WriteLine(ToHex(MD5.Create().ComputeHash(Encoding.Unicode.GetBytes("ä"))));
Console.WriteLine(ToHex(MD5.Create().ComputeHash(Encoding.GetEncoding("ISO-8859-1").GetBytes("ä"))));
(Конечно, ToHex
- это функция, которую вы уже написали, чтобы превратить вещи в шестнадцатеричные:)
static string ToHex(byte[] data)
{
var sBuilder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
sBuilder.Append(data[i].ToString("x2"));
return sBuilder.ToString();
}
А затем проверьте, какой из трех полученных хешейтакой же, как в ActionScript.Тогда вы будете знать, какую кодировку использует ActionScript.