2012-12-13 3 views
1

가능한 중복의 OAuth 기반 서명을 생성 :
Implementaion HMAC-SHA1 in python는 파이썬으로

`내가 파이썬 함께 몇 가지의 OAuth 인증을 시도하고, 그러나 내 oauth_signature 거부지고 유지합니다. 파이썬 3는 나에게 아주 새로운, 그래서 누군가가이 코드에 어떤 문제가 있는지 말해 줄 수 :

api_key = 'string' 
api_secret = 'another_string' 
sig_key = api_secret + '&' + api_key 
hmac_alg = hmac.new(sig_key.encode('utf-8'), sig_base_str.encode('utf-8'),hashlib.sha1) 

signature_base = base64.b64encode(hmac_alg.digest()) 
url = url_base + '?' + 'oauth_signature=' + urllib.parse.quote(str(signature_base.decode('utf-8')),'') + '&' + str(param_str) 

param_str 내 입력 매개 변수의 & 구분 된 문자열입니다. HTTP 서비스는 내가 요청한 것을 기반으로 출력 응답을 변경하므로 잘 읽는 것 같습니다. 그냥 내 서명을 거부 유지합니다. 나는 hmac이 범인이라고 생각한다. 바이트 리터럴 :

+0

제 질문은 의사 코드를 파이썬으로 변환하는 것이라고 생각합니다. hmac는 문자열을 허용하지 않기 때문에. – Chris

답변

0

는 다음과 같은 파이썬 문서에서

api_key = b'string' 
api_secret = b'another_string' 

PEP (3112)을 시도 할 수 있습니다. b "..."문자열 리터럴 표기법 (및 b '...', b "" "..." ""및 "br"... "과 같은 변형)은 이제 바이트 유형의 문자 을 생성합니다 .

+0

요청한 것과 완전히 다른 질문에 답한 것처럼 보입니다. –

+0

나는 당신이 말하는 것을 얻는다고 생각합니다. 나는이'key = b'secret & key''를 사용하여 시도했지만 여전히 주사위가 없다. – Chris