Здравствуйте, код С# работает в онлайн компиляторах, ответ выдает верно, а вот как использовать его в zenno не могу понять.
Нужно чтоб результат (слово - "gold" ) выводился в переменную проекта {-Variable.rez-}
string encryptedString = Encrypter("43381cd7b1a91655") это влияет на то какой результат (ответ) будет, "43381cd7b1a91655"сюда буду вставлять переменную из проекта думаю это у меня получится.
Нужно чтоб результат (слово - "gold" ) выводился в переменную проекта {-Variable.rez-}
string encryptedString = Encrypter("43381cd7b1a91655") это влияет на то какой результат (ответ) будет, "43381cd7b1a91655"сюда буду вставлять переменную из проекта думаю это у меня получится.
C#:
using System;
using System.Linq;
class Program
{
static void Main()
{
string encryptedString = Encrypter("43381cd7b1a91655");
int index = Convert.ToInt32(encryptedString.Substring(encryptedString.Length - 8, 2), 16) % 7;
char character = encryptedString[index > 0 ? index : 7];
Console.WriteLine(MsList[Convert.ToInt32(character.ToString(), 16)]);
}
static string Encrypter(string input)
{
if (!string.IsNullOrEmpty(input) && input != "FFFFFF")
{
return EncryptFunction(input, input.ToCharArray().Aggregate(0, (acc, c) => acc + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".IndexOf(c)));
}
return string.Empty;
}
static string EncryptFunction(string text, int key)
{
int length = text.Length;
int[] indexArray = Enumerable.Range(0, length).ToArray();
for (int i = length - 1; i >= 0; i--)
{
int u = (key % (i + 1) + i) % length;
int temp = indexArray[u];
indexArray[u] = indexArray[i];
indexArray[i] = temp;
}
char[] resultArray = new char[length];
for (int i = length - 1; i >= 0; i--)
{
resultArray[indexArray[i]] = text[i];
}
return new string(resultArray);
}
static readonly string[] MsList = { "free", "gold", "platinum", "unlimited", "sapphire", "titan", "diamond", "exclusive" };
}