Предпосылки

Предпосылки

Хорошо, я скачалвсе хеши SHA-1 из Have I Been Pwned, экспортировал все из своего менеджера паролей и обработал это в файл с одним паролем на строку. Как мне эффективно сопоставить эти файлы?

решение1

Предпосылки

  • 7z, который должен быть впакет "p7zip".
  • sha1sumи shred, который должен быть в пакете "coreutils".
  • grepиз пакета "grep".

Процесс

  1. Создайте файл с уникальными хешами паролей в верхнем регистре, а также файл с паролями и соответствующими им хешами:

    sort -u passwords.txt | while read -r password
    do
        hash="$(printf '%s' "$password" | \
            sha1sum | \
            cut -d' ' -f1 | \
            tr 'a-f' 'A-F')"
        printf '%s\n' "$hash" >> hashes.txt
        printf '%s\t%s\n' "$hash" "$password" >> passwords-with-hashes.txt
    done
    
  2. Сопоставьте ваши хэши со всеми записями в загруженном файле:

    7z e -so pwned-passwords-sha1-ordered-by-hash-v*.7z | \
    cut -c 1-40 | \
    grep -Fxf hashes.txt | \
    tee matches.txt
    

    Наберитесь терпения — на настольном компьютере с SSD это заняло около 20 минут!

  3. Показать пароли, связанные с совпадениями:

    grep -Ff matches.txt passwords-with-hashes.txt | cut -f2
    
  4. Надежно удалите созданные вами файлы:

    shred --remove hashes.txt matches.txt passwords.txt passwords-with-hashes.txt
    

Связанный контент