소금 계산에 도움이 필요합니다

소금 계산에 도움이 필요합니다

비밀번호 파일에서 가능한 모든 솔트 값을 계산하는 데 도움을 줄 수 있는 사람이 있나요? 그래서 솔트 처리되고 MD5 해시된 file_1.txt라는 비밀번호 파일이 있고 일치 항목을 비교하고 찾기 위해 레인보우 테이블을 준비하고 싶지만 내 스크립트에 솔트 값이 없습니다. 내 비밀번호 파일은 이 형식(237ac9d0,$1$237ac9d0$lcqhZ0SmxQ.0JsEDdwiEq0)이고 100줄의 솔트 해시가 있습니다. 여기에 스크립트가 있습니다.

#!/bin/bash
While read word

do
    hashed=`echo "$word" | openssl passwd -1 -salt ?? "$word"`
   
    while read hash
    do
            echo About to compare:
            echo word:"$word"
            echo hashed: "$hashed"
            echo hash: "$hash"
            echo --------
            if [ "$hashed" == "$hash" ]
            then
                    echo "Hash found for word "$word": "$hashed""
                    continue

                fi
        done < file_2.txt 
done < rockyoutop1000.txt 

답변1

"소금 부족"이 무슨 뜻인지 잘 모르겠습니다. 해시된 비밀번호의 솔트는 해시 자체와 함께 저장됩니다. 이는 분명한 이유이므로 해시가 있으면 솔트도 있는 것입니다. $1$이러한 MD5 기반 해시의 형식은 매뉴얼 페이지 에 설명되어 있습니다 crypt.

salt가 문자 "$id$"로 시작하고 선택적으로 "$"로 끝나는 문자열이 뒤에 오는 문자열인 경우 결과는 다음과 같은 형식입니다.

$id$salt$encrypted

관련 정보