Requisitos previos

Requisitos previos

Bien, ya lo he descargado.todos los hashes SHA-1 de Have I Been Pwned, exporté todo desde mi administrador de contraseñas y lo procesé en un archivo con una contraseña por línea. ¿Cómo puedo hacer coincidir estos archivos de manera efectiva?

Respuesta1

Requisitos previos

  • 7z, que debería estar enel paquete "p7zip".
  • sha1sumy shred, que debería estar en el paquete "coreutils".
  • grepdel paquete "grep".

Proceso

  1. Cree un archivo con hashes de contraseñas en mayúsculas únicos y un archivo con contraseñas y sus correspondientes hashes:

    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. Haga coincidir sus hashes con todas las entradas del archivo descargado:

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

    Tenga paciencia: ¡esto tomó casi 20 minutos en una máquina de escritorio con SSD!

  3. Mostrar las contraseñas relacionadas con los partidos:

    grep -Ff matches.txt passwords-with-hashes.txt | cut -f2
    
  4. Elimina de forma segura los archivos que has creado:

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

información relacionada