hmac(вывод ключа) RandomNumberGenerator c#

231
01 апреля 2019, 21:50
   string[] variants = { "Камень", "Ножницы", "Бумага" };
    var key = new byte[128];
    var pc = new byte[4];
    var gen = RandomNumberGenerator.Create();
    gen.GetBytes(key);
    gen.GetBytes(pc);
    var hmac = new HMACSHA256(key);
    var ipc = BitConverter.ToUInt32(pc, 0) % (variants.Length);
    var hash = hmac.ComputeHash(Encoding.UTF8.GetBytes(variants[ipc]));
    Console.WriteLine("Компьютер сделал ход\nHMAC : " + (BitConverter.ToString(hash, 0)));
    Console.WriteLine("Ваш выбор:\n0 : Выход");
    for (int i = 0; i < variants.Length; i++)
        Console.WriteLine((i + 1) + " : " + variants[i]);
    int player = 0;
    if (!int.TryParse(Console.ReadLine(), out player) || player < 0 || player > variants.Length)
    {
        Console.WriteLine("Некорректный ввод");
        return;
    }
    else if (player == 0) return;
    player -= 1;
    if (ipc == player)
    Console.WriteLine("Ничья");
    else if (((ipc + player) % 2 == 0 && ipc > player)
            || ((ipc + player) != 0 && player > ipc))
        Console.WriteLine("Вы выйграли!");
    else
        Console.WriteLine("Вы проиграли!");
    Console.WriteLine("Ключ : " + (BitConverter.ToUInt32(key, 0)));
    Console.ReadLine();

Вывод ключа неверный, в чем может быть проблема?

READ ALSO
Взаимодействие WindowsForm C# и DLL написанной на С#

Взаимодействие WindowsForm C# и DLL написанной на С#

Программа на С# загружает динамическую библиотеку написанную на том же С#Соответственно dll выполняет одну только функцию

157
Изменение PolygonCollider2D скриптом

Изменение PolygonCollider2D скриптом

Не могу решить проблемуПри создании игрового объекта из префаба по высчитанным точкам рисуется треугольник (рисуется ровно и правильно)...

193
C# Speech Recognition

C# Speech Recognition

Что не так может быть в коде? Не распознает голос

168
Десериализация JSON C#

Десериализация JSON C#

Есть ответ от сервера вида {"name":"Jonh","lastName":"Smith"},{"name":"Rick","lastName":"Grimes"}И т

173