Seite 1 von 1

Rest Api mit Secret key signieren. durch MD5 und RSA SHA256

Verfasst: Freitag 28. Juni 2019, 17:20
von Frosto
Hallo.

Ich habe mir ein test api Account bei der lbank exchange zugelegt.
Leider kann ich damit nicht kommunizieren weil das signieren irgendwie nicht klappt.

Habe ich die Api Doc falsch verstanden?

https://github.com/LBank-exchange/lbank ... /README.md

Code: Alles auswählen

import hashlib
import hmac
import requests


ak = "4d4f1851-7d4c-4779-937f-6400a33bb023"
sk = b"MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKFWL+JeqI9f2WMthdVpJEo13iTgLG1qbcocqPGbcAZjhR/VOr/ZfWVVzLwF2Vw9j0Ak/cvCRk1y0Mj+Wc6fRUqXcrv1A4wH01x9ZPHerCbtYtSgy7hriWTvoJB5f9IdelWLmHRW8L7bPnL66j+JKjrYA+bS0B10+LXk/nfkhm2hAgMBAAECgYEAmXgHwriydPgDLRGPnosOhz0onEFWYZp852ZN2s42SQ2AA+DsqrRzUOLGBxE1S0YPrz/A4INkJqYSLy+sNB1TZfJ15ygwRgafSoNh/tBkdchZAG1+G6wF1R8rATxEd+iqFDoLBXWorAUQ5VKmZQHmRLtAyEzRf6n9407nQA5mJ2UCQQDurYnUvb//UUn5RDEeYnjUUw5xJPegc1zLnUJ5SpEjqSw9v3IkwwwnJyzyuquoLpqhqt/3kTCc2bptHLaY75MLAkEArQu0f0YFoGd9oUklsbeOOGgx8gtU5Vg/ZrBS9dUOMvds+DkgSQa3hXurpM2DVCJ/vILwYzkwyqU/4vvhZIftgwJAfJa11gleycYDGU0RXs0EScE5TrJ/WJAfpmHmqy3TaYwLfggLa0ktdNqsSeBLbrU1HqL12mM9vwKgoAhXAKo+VQJAWw94ySzY0yMCmjf6zP1Rqt8xwTQzVYjNvET3MwQNt8Y6Ipk1IxiUxHpixZOcE08gNtwUkbJLuaeh6dkwL43T7wJBAJHoh8KO+6a+bncSc3OfX1tNtE+ML0yoARo7AfKtJycwATXNOPYErgdrrNEmbCAuWPCvHjujqRCw3x9UcE9MylI="

url = "https://api.lbkex.com/v1/user_info.do"

#secret_key in md5 umwandeln
skey = hashlib.md5(sk).hexdigest().upper()
b_skey = bytes(skey, "utf-8")


#den Querystring in md5 umwandeln
querystring = b"api_key=4d4f1851-7d4c-4779-937f-6400a33bb023"
h = hashlib.new("md5")
h.update (querystring)
sign1 = (h.hexdigest().upper())
b_sign1 = bytes(sign1, "utf-8")


#sign parameter erzeugen mit dem secret key und querystring zu rsa sha256
h2 = hmac.new(b_skey,  b_sign1,  hashlib.sha256).hexdigest().upper()

#Alles zusammenfügen
url_rdy = url + "?api_key=4d4f1851-7d4c-4779-937f-6400a33bb023&sign=" + h2

print (url_rdy)

r = requests.post(url=url_rdy)

print (r.text)


Re: Rest Api mit Secret key signieren. durch MD5 und RSA SHA256

Verfasst: Freitag 28. Juni 2019, 21:25
von Sirius3
Ich hoffe mal, das sind keine echten Keys. Da für das signieren kein Beispiel gegeben wird, ist es schwierig zu raten, was genau gemacht werden muss.
Anmerkungen zum Code:
Ein oder Zweibuchstabige Variablennamen sind schlecht. Benutze aussagekräftige Namen, keine Abkürzungen.
Der API-Key steht dreimal explizit im Code. Das solle maximal einmal sein.
Screibe Funktionen zum erzeugen der Parameterstrings, zum Signieren, usw.