2014-02-06 10 views
0
나는 MD5베이스에게 내가 사용하고 64 라이브러리를 사용하여 소화 인코딩 라이브러리에 파이썬 빌드를 사용하고

에 base64로 암호화를 디코딩하는 것입니다 :다른 장치

 from hashlib import md5 

내 코드는 "이메일"변수를 인코딩 :

 apitoken = md5(email).digest().encode('base64')[:-1] 

이제이 문제는 "apitoken"이 전자 메일 md5를 얻기 위해 base64를 디코딩해야하는 다른 장치로 전송되고 있습니다.

내가 어떤 키를 보내야합니까? 이 소금 값은 어디입니까?

+0

Base-64는 암호화가 아니며 인코딩입니다. '.decode ('base64')'로 디코드하면된다. – Blender

+0

그래, .decode를 사용하여 해독 할 수 있지만 다른 기기에서 해독하면 안드로이드라고 해봅시다. 가능한가 아니면 다른 방법일까요? – user2618465

+0

물론, 왜 데이터를 처음부터 base-64로 보내고 있습니까? – Blender

답변

0

귀하의 요구 사항이 암호화 된 데이터를 전송하는 것이라면 MD5와 같은 단방향 해싱 알고리즘을 사용하지 않아야합니다 (어떤 경우에도 약한 알고리즘). AES처럼 잘 알려진 대칭/비대칭 알고리즘을 사용하는 것이 좋습니다. Python Cryptography Toolkit (pycrypto)

암호화 된 데이터는 해당 알고리즘에 적합한 클라이언트 라이브러리를 사용하여 클라이언트 측에서 암호화되지 않은 상태로 암호화 될 수 있습니다. 또한 보안 시스템 구축 방법을 이해하기 위해 Bruce Schneier의 "Applied Cryptography"와 같은 보안 관련 훌륭한 책을 읽는 것이 좋습니다.

관련 문제