Я запускаю несколько тестов, сравнивающих алгоритм sha1, реализованный в javascript - полученный из http://pajhome.org.uk/crypt/ - с его реализацией в C #.
Использование C # для получения хэша для {'method': 'people.get'} Я использую это утверждение:
Convert.ToBase64String(new System.Security.Cryptography.SHA1CryptoServiceProvider().ComputeHash(Encoding.ASCII.GetBytes("{'method':'people.get'}")));
что дает мне Qy95a0ShZqhbNdt6IF8qNf72jX0=
В JavaScript я получаю почти то же самое: Qy95a0ShZqhbNdt6IF8qNf72jX0
, используя выражение:
b64_sha1("{'method':'people.get'}");
В случае JavaScript, хеш не заканчивается знаком равенства (=).
Может ли это различие вызвать у меня проблемы с аутентификацией на сервере?
В моем случае, как многие из вас могут знать, предложение, которое я считаю хэшем, идет внутри тела http, и сервер проверит его.
Спасибо