2017-01-27 12 views
0

파이썬 3에서 크립트 옵션을 구현하는 방법은 무엇입니까?파이썬의 크립트 기능 사용

내가 사용이 것을 이해 :

Hash = crypt.crypt(password, salt) 

그러나, 함수가 서로 다른 해시 함수의 집합이 있습니다. 설명서에서 :

crypt.METHOD_SHA512 16 문자 salt 및 86 문자 해시를 사용하는 모듈 형 Crypt Format 메서드. 이것은 가장 강력한 방법입니다.

crypt.METHOD_SHA문자 소금과 43 자의 해시가있는 다른 모듈 방식의 암호화 방식입니다.

crypt.METHOD_MD5 8 문자 소금 및 22 문자 해시가있는 다른 모듈 방식의 암호화 방식입니다.

crypt.METHOD_CRYPT 해쉬의 2 문자 염 및 13 문자의 전통적인 방법입니다. 이것은 가장 약한 방법입니다.

또 다시 내 질문은 함수가 사용하는 알고리즘을 어떻게 선택합니까?

이것은 아주 기본적인 질문입니다. 나는 혼자 답변을 찾지 못했다고 생각합니다. 시간을 낭비한다면 사과드립니다.

답변

1

소금 인수로 메서드를 전달합니다. crypt function docstring에서 :

salt 경우 지정 또는 None되어 있지 않으며, 강한 가능한 방법을 선택 염 생성됩니다. 그렇지 않은 경우 saltcrypt.METHOD_* 값 중 하나 일 수 있으며 인 문자열은 crypt.mksalt()으로 반환됩니다. 예를 들어

:

crypt.crypt("password", crypt.mksalt(crypt.METHOD_SHA512)) 
+0

감사 : 후드된다

crypt.crypt("password", crypt.METHOD_SHA512) 

! 하지만 프로세스를 지정할 수 있습니까? SHA512를 사용할 수 있지만 직접 소금을 제공 할 수 있습니까? – Tikhon