Como procurar arquivos através de hashsums

Como procurar arquivos através de hashsums

Eu procuro arquivos frequentemente em meu sistema de arquivos usando o treecomando e grep, ou o findcomando, mas recentemente baixei algum conteúdo de um site, mas esqueci onde o salvei, agora sei que SHA256sum dele, mas não sei é o nome e não conheço nenhum de seu conteúdo. Então, existe alguma maneira de pesquisar em meu sistema para encontrar arquivos que correspondam a esse hashsum específico? E se ainda não existe uma maneira fácil, alguém pode sugerir um script que me permita concluir esta tarefa?


Informações do sistema operacional:

Description:    Ubuntu 15.04
Release:    15.04

Responder1

Usa isto:

#!/bin/bash
saved='b3eeb9430063ee4db5f80b97d4dfb4c4f7667e6e58fd12f849a4ed6779b7f212'
find /home/user/ -type f | while IFS= read -r file; do
    [[ "$(sha256sum "$file" | cut -d' ' -f1)" == $saved ]] && echo "$file"
done
  • savedconterá o hashsum do arquivo que você possui

  • Ele encontrará todos os arquivos /home/user/(substitua-os pelos locais desejados) e subdiretórios e combinará seus hashsums comsaved

  • Se corresponder, imprimirá o nome do arquivo

Execute o script usando sudocaso queira pesquisar os locais onde você não tem as permissões necessárias.

Observe que esta operação consome bastante CPU, pois calculará os hashes de todos os arquivos e, em seguida, tentará combiná-los com aquele saved. Não tenho conhecimento de nenhuma ferramenta autônoma que possa alcançar o que você deseja, então este pode ser o caminho a seguir, dada a tarefa e as informações em mãos.

Observe também que você pode minimizar a quantidade de arquivos a serem pesquisados ​​aplicando opções relevantes, por findexemplo, se o arquivo foi acessado nas últimas 24 horas de uso find /location -atime 0 -type f.

informação relacionada