É teoricamente possível, mas ainda não foi feito.
O que você está procurando é chamado de "hash collision": dois arquivos com o mesmo hash. Os códigos hash criptográficos como o SHA-1 são geralmente 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 faça melhor do que aquele contra um hash criptográfico, o hash é considerado "quebrado".
O MD-5 é um exemplo de um hash muito quebrado. Era suposto ter uma força de 128 bits, exigindo em média 2 ^ 127 tentativas. Assim como, abusando 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. Na verdade, isso foi feito em menos de um dia em um cluster de computação moderno.
Eu dou esse exemplo porque está mais próximo de como você está usando o SHA-1. No entanto, essa não é a abordagem mais comum usada na análise criptoanalítica para garantir que os hashes não sejam quebrados. Eles geralmente permitem uma colisão entre dois arquivos, escolhidos pelo invasor, em vez de você escolher um arquivo e o invasor tentar combiná-lo. Esse tipo de ataque tem a vantagem de ser mais fácil de avaliar. Se eu achar que é "difícil" decifrar seu arquivo, isso significa que outro arquivo é igualmente strong? Esse ataque em que o invasor escolhe os dois arquivos garante que capturemos o pior dos piores.
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 à 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 é um tempo longo .
No entanto, da história, descobrimos que os algoritmos de hash não são quebrados espontaneamente, mas sim quebrados com o tempo. Ninguém quebra um algoritmo como o MD-5 levando-o de 2 ^ 64 para 2 ^ 47 durante a noite. Isso acontece ao longo do tempo, já que muitos indivíduos publicam artigos sobre a matemática que estão usando contra ele. Geralmente, é possível observar a complexidade dos ataques diminuir lentamente desde o início do algoritmo (em que o melhor ataque geralmente é o ataque de aniversário).
O fato de que estamos vendo algumas mudanças nas colisões sugere que o SHA-1 está vendo a luz no fim do túnel. Ainda é strong, mas pode haver um desejo de ir até o mais novo SHA-3, que é atualmente muito mais seguro.
Você deve realmente tomar essas decisões de uma perspectiva de modelo de ameaça. Quanto dano pode ser causado por um invasor se ele sofrer uma dessas colisões. Seus atacantes são crianças de script com acesso a alguns laptops ou governos com clusters de supercomputação inteiros à sua disposição? O tamanho de uma janela de tempo que um atacante tem para quebrar o hash antes que ele não seja usado (muitos usos da criptografia envolvem uma "mudança de guarda", como rotação de senha). Tudo isso afetará a seriedade com que você deve considerar colisões.