É teoricamente possível, mas ainda não foi feito.
O que você está procurando é chamado de "colisão de hash:" dois arquivos com o mesmo hash. Códigos de hash criptográficos como o SHA-1 geralmente são projetados para dificultar isso. Como o SHA-1 é um código de 160 bits, serão necessárias em média 2 ^ 159 tentativas de força bruta para encontrar uma duplicata. Se for encontrado um algoritmo que, com confiabilidade, é melhor do que aquele em relação a um hash criptográfico, o hash é considerado "quebrado".
MD-5 é um exemplo de um hash muito quebrado. Deveria ter uma força de 128 bits, exigindo em média 2 ^ 127 tentativas. Como é o abuso de vulnerabilidades conhecidas, o número real de tentativas necessárias pode ser tão baixo quanto 2 ^ 47. Isso é MUITO menor que 2 ^ 127. De fato, isso foi feito em menos de um dia em um cluster de computação moderno.
Dou esse exemplo porque é o mais próximo de como você deseja usar o SHA-1. No entanto, essa não é a abordagem mais comum usada pela análise criptográfica para garantir que os hashes não sejam quebrados. Eles geralmente permitem uma colisão entre dois arquivos, conforme escolhido pelo invasor, em vez de você escolher um arquivo e o invasor procurar correspondê-lo. Esse tipo de ataque tem a vantagem de ser mais fácil de comparar. Se eu achar que é "difícil" decifrar seu arquivo, isso significa que outro arquivo é igualmente forte? Esse ataque no qual o invasor escolhe os dois arquivos garante que capturamos o pior do pior.
Esse tipo de ataque permite um truque interessante conhecido como " ataque de aniversário ". Para encurtar a história, usar o ataque de aniversário reduz pela metade a força do algoritmo; portanto, o SHA-1 requer 2 ^ 80 tentativas (em média) e o MD5 requer 2 ^ 64 tentativas (em média). Estes são metade de 160 e 128, respectivamente.
O SHA-1 tem ataques conhecidos que diminuem sua força de 2 ^ 80 para 2 ^ 69. Isso não vai importar muito para você. 2 ^ 69 tentativas é muito tempo.
No entanto, a partir da história, descobrimos que os algoritmos de hash não são quebrados espontaneamente, mas com o tempo. Ninguém quebra um algoritmo como o MD-5, passando de 2 ^ 64 para 2 ^ 47 durante a noite. Isso acontece com o tempo, pois muitas pessoas publicam artigos sobre a matemática que estão usando contra ela. Geralmente, é possível observar a complexidade dos ataques diminuir lentamente desde o início do algoritmo (onde o melhor ataque geralmente é o ataque de aniversário).
O fato de estarmos vendo algumas mudanças nas colisões sugere que o SHA-1 está vendo a luz no fim do túnel. Ainda é forte, mas pode haver um desejo de ir até o mais novo SHA-3, que atualmente é muito mais seguro.
Você realmente deve tomar essas decisões da perspectiva do modelo de ameaça. Quanto dano pode ser causado por um invasor se ele sofrer uma dessas colisões. Seus atacantes fazem scripts de crianças com acesso a alguns laptops ou governos com clusters de supercomputação inteiros à sua disposição. Qual o tamanho de uma janela de tempo que um invasor precisa interromper o hash antes de ser inútil (muitos usos de criptografia envolvem uma "mudança de proteção", como rotação de senha). Tudo isso afetará a seriedade com que você deve considerar colisões.