2013-07-26 3 views
0

API 인증을위한 고유 한 앱 ID 및 앱 비밀번호를 만드는 우수 사례를 배우고 싶습니다. 지금은 그냥 UUID 생성기로 appid를 만들고 앱 비밀을위한 임의의 텍스트로 해시 (md5)를 만듭니다. 하지만 앱 비법에 특히 안전하지 않은 것처럼 보입니다. 다른 해결책을 듣는 것이 좋을 것입니다.앱의 앱 ID 및 앱 비밀번호를 만드는 것이 가장 좋습니다.

답변

1

일반적으로 app_id는 공개입니다. 그것은 비밀로 유지되지 않습니다. UUID, 전자 메일 주소, uuid 또는 정수 여야합니다.

앱 비밀번호는 PRNG로 충분합니다. 무작위 데이터의 MD5/해시는 다른 임의의 토큰을 제공합니다.

운영 체제가 임의의 숫자를 나타내는 최고의 소스입니다. 모든 언어에는 다른 API가 있습니다.

비밀을 깨는 가능성은 열쇠 길이의 함수입니다. 256 비트 키는 올바른 조건에서 파손되지 않는 것으로 간주됩니다.

import os 
import base64 

key_bytes = os.urandom(256) 
# If you need to pass it in a URL, you could base64 it, 
# or convert it to hex 
key_b64 = base64.b64encode(key_bytes) 
key_hex = ''.join([hex(x) for x in key_bytes]) 

print 'b64', key_b64 
print 'hex', key_hex 

출력 :

b64 ypPp16psb1mBrlS5BE01kcwB+tjwOdDbu3K2Ix0cYz5KxCX42PoRR5a2cpwZGhULeW5BEFenwg5G55m8czU+gF8yS5wz7BfCaT8Z15pgarUM+rrPl/tbYKu3Hc0FE8/5jczZKwFlV37Etq/Hn2gT/9njXn1YIh+NlLBec6Yp3Y6dbSD6zqHv60qPZSUqmVRL9UrbJBAa38gCgMjqj79Qe/pMBpH7tMAKrLelmOBedklme9kZzAJrEpFwtp65K8h3RLSDXx0qVNjrToJquaDFOKytwlwkYtV3ANQ/bxLgEN8zXfGalXsO/6d/ZDi03Kjlj36rSL2fcCG0w5oiYTitMQ== 
hex 3FC5E75CA3FD62BB42D2EDD3F14B8D247B241B1E9281EC629A5C5271EB65F3F9F1C9547AF5A5715636461C00B7B960CCC78295A31C6F9C1C5DC0ECEECA5278B56F555E3E635541C2E7CC946B73FB2B89EF9E34C0797D6A8452B41A8D0050A856FFA9519FB7E9381218647E18189A3167E3C1A68D545C0868C0B87B69DA69D23EE2A660E9D4A1281D15C57D67F2D2C67A10574E7AEE906CA112E3FF4FD0C087D9F354ACC3ECD5E6A86B171F61B5644E3D630F2C66C25F3BA6DC30A44660C253B4328EB2228759A3194A0A1FAB9BDC6E95051099E3EFA9EC063C6A18F0B4956EBC2F39E19A2AE665A699A10EA91C20DCBFED6FAAB1DAE554469C877979298591ED 

파이썬

,이 비밀을 얻을 수있는 코드

관련 문제