
OK, então baixeitodos os hashes SHA-1 de Have I Been Pwned, exportei tudo do meu gerenciador de senhas e processei isso em um arquivo com uma senha por linha. Como faço para combinar esses arquivos de forma eficaz?
Responder1
Pré-requisitos
7z
, que deveria estar emo pacote "p7zip".sha1sum
eshred
, que deve estar no pacote "coreutils".grep
do pacote "grep".
Processo
Crie um arquivo com hashes de senha exclusivos em maiúsculas e um arquivo com senhas e seus hashes correspondentes:
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
Combine seus hashes com todas as entradas no arquivo baixado:
7z e -so pwned-passwords-sha1-ordered-by-hash-v*.7z | \ cut -c 1-40 | \ grep -Fxf hashes.txt | \ tee matches.txt
Seja paciente – isso levou quase 20 minutos em uma máquina desktop com SSD!
Mostre as senhas relacionadas às partidas:
grep -Ff matches.txt passwords-with-hashes.txt | cut -f2
Remova com segurança os arquivos que você criou:
shred --remove hashes.txt matches.txt passwords.txt passwords-with-hashes.txt