Всем привет, подаказите как вот такой код портировать на python:
def self.valid_callback?(signature:, request_uri:, secret:)
signature == self.signature(nonce: nil, body: nil, method: 'GET', request_uri: request_uri, secret: secret)
end
def self.signature(nonce:, body:, method:, request_uri:, secret:)
sha512 = OpenSSL::Digest::SHA512.new
request = "#{method.to_s.upcase}#{request_uri}#{sha512.digest("#{nonce}#{body}")}"
Base64.strict_encode64 OpenSSL::HMAC.digest(sha512, secret.to_s, request)
end
Вроде бы все сделал как надо, но подписи не совпадают, вот мой код:
def generate_signature(request_uri, secret):
method = 'GET'
sha512 = hashlib.sha512()
sha512.update("".encode("utf-8"))
request = str(method).upper()+request_uri+str(sha512.hexdigest())
hmac = hashlib.pbkdf2_hmac('sha512', bytes(secret.encode("utf-8")), bytes(request.encode("utf-8")), 100000)
hexhmac = binascii.hexlify(hmac)
return base64.b64encode(hmac)