2013-10-13 4 views

답변

1

누구나 암호 자체를 소금으로 사용해 볼 수 있기 때문에 안전하지는 않습니다.

크래커는 암호 자체를 항상 소금으로 시도하는 규칙을 쉽게 만들 수 있습니다. 또는 체계적으로가 아니라 테스트 배치에서만. 소금으로 암호화 된 암호가 유출 된 경우 첫 번째 실행으로 암호를 시도한 다음 암호가 쉽게 소금임을 확인한 다음 나머지 목록에 동일한 방법을 적용 할 수 있습니다.

암호가 "꽃"인 경우 설명

더, 어떤 사전 공격은 단어 "꽃"을 시도 할 것이다. 크래커는 md5, SHA1 등에서 "꽃"의 해시를 검색하고 조회합니다. 작동하지 않으면 해시가 소금에 절인 것으로 가정합니다. 그것은 일을 훨씬 어렵게 만듭니다. 암호 자체를 소금으로 사용하지 않는 한.

이를 읽고 무서워 : 그것은 덜 안전한입니다 http://arstechnica.com/security/2013/10/how-the-bible-and-youtube-are-fueling-the-next-frontier-of-password-cracking/

+0

하지만 암호가 "Password1"임을 이미 알고 있어야합니까? –

+1

추가 된 설명을 참조하십시오. 그게 더 명확 해? –

+0

그것은 나를 두려워하는 동안 실제로 그것을 설명합니다. 고마워요. –

2

, 그렇게하지 않습니다. 문제는 salt가 해쉬에 접두어로 붙는다는 것입니다. 즉, 처음에 Pa는 Password1의 처음 두 문자입니다. 9 자 암호를 7 자 암호의 강도로 줄였습니다.

PHP의 crypt()는 자동으로 임의의 소금을 생성합니다. 특정 알고리즘이 필요한 경우가 아니라면 그대로 두는 것이 가장 좋습니다.

편집 : 나에게도 이것은 사용자가 해시 알고리즘을 제어 할 수있게 해주었습니다. 해시 알고리즘은 사용자가 원하는 것은 아니지만 거의 확실합니다. 암호가 올바르지 않으면 (예 : 암호에 유효하지 않은 문자가있는 경우) crypt()가 실패합니다.

+0

좋은 설명입니다. 고마워요. –