Полезная информация

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№107-09-2018 01:59:04

petral2002
Участник
 
Группа: Members
Зарегистрирован: 10-12-2015
Сообщений: 19
UA: Firefox 56.0

кто может переделать код с С# на js

Всем привет,есть кто может переделать следующий код C# на JS

скрытый текст
static bool VerifyBetResult(string serverSeed, int clientSeed, int betNumber,
                            long betResult, string serverSeedHash = null)
{
    Func<string, byte[]> strtobytes = s => Enumerable
        .Range(0, s.Length / 2)
        .Select(x => byte.Parse(s.Substring(x * 2, 2), NumberStyles.HexNumber))
        .ToArray();
    byte[] server = strtobytes(serverSeed);
    byte[] client = BitConverter.GetBytes(clientSeed).Reverse().ToArray();
    byte[] num = BitConverter.GetBytes(betNumber).Reverse().ToArray();
    byte[] serverhash = serverSeedHash == null ? null : strtobytes(serverSeedHash);
    byte[] data = server.Concat(client).Concat(num).ToArray();
    using (SHA512 sha512 = new SHA512Managed())
    {
        if (serverhash != null)
            using (SHA256 sha256 = new SHA256Managed())
                if (!sha256.ComputeHash(server).SequenceEqual(serverhash))
                    throw new Exception("Server seed hash does not match server seed");
        byte[] hash = sha512.ComputeHash(sha512.ComputeHash(data));
        while (true)
        {
            for (int x = 0; x <= 61; x += 3)
            {
                long result = (hash[x] << 16) | (hash[x + 1] << 8) | hash[x + 2];
                if (result < 16000000)
                    return result % 1000000 == betResult;
            }
            hash = sha512.ComputeHash(hash);
        }
    }
}

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]