Bitstamp - новая аутентификация в C # - подпись

Новая аутентификация битовой метки говорит следующее:

Подпись - это сообщение в кодировке HMAC-SHA256, содержащее: nonce, идентификатор клиента и ключ API. Код HMAC-SHA256 должен быть создан с использованием секретного ключа, который был создан с вашим ключом API. Этот код должен быть преобразован в шестнадцатеричное представление (64 заглавных символа). Пример (Python): message = nonce + client_id + подпись api_key = hmac.new (API_SECRET, msg = message, digestmod = hashlib.sha256) .hexdigest (). верхняя ()

Источник:ссылка

У меня есть следующий код для добавления новой подписи (и других параметров):

public void AddApiAuthentication(RestRequest restRequest)
    {
        var nonce = DateTime.Now.Ticks;
        var signature = GetSignature(nonce, apiKey, apiSecret, clientId);

        restRequest.AddParameter("key", apiKey);
        restRequest.AddParameter("signature", signature);
        restRequest.AddParameter("nonce", nonce);

    }

    private string GetSignature(long nonce, string key, string secret, string clientId)
    {
        string msg = string.Format("{0}{1}{2}", nonce,
            clientId,
            key);

        return ByteArrayToString(SignHMACSHA256(secret, StrinToByteArray(msg))).ToUpper();
    }
    public static byte[] SignHMACSHA256(String key, byte[] data)
    {
        HMACSHA256 hashMaker = new HMACSHA256(Encoding.ASCII.GetBytes(key));
        return hashMaker.ComputeHash(data);
    }

    public static byte[] StrinToByteArray(string str)
    {
        byte[] bytes = new byte[str.Length * sizeof(char)];
        System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
        return bytes;
    }

    public static string ByteArrayToString(byte[] hash)
    {
        return BitConverter.ToString(hash).Replace("-", "").ToLower();
    }

И тогда я получаю эту ошибку:

{"error": "Недопустимая подпись"}

Кто-нибудь понял, в чем может быть проблема? Я проверил свои параметры 100 раз, и это не так. Может быть, кто-то получил рабочий кусок кода (в C #) для новой аутентификации?

ОБНОВИТЬ

Абхинав был прав, метод StringToByteArray был неправильным (не только опечатка: P), рабочий код:

public static byte[] StrinToByteArray(string str)
    {
        return System.Text.Encoding.ASCII.GetBytes(str);
    }

Ответы на вопрос(1)

Ваш ответ на вопрос