Cadeia aleatória única curta de oito caracteres segura o suficiente

Eu estou tentando calcular 8-caractere curto nomes de arquivo aleatórios exclusivos para, digamos, milhares de arquivos sem colisão de nome provável. Este método é seguro o suficiente?

base64.urlsafe_b64encode(hashlib.md5(os.urandom(128)).digest())[:8]
Editar

Para ser mais claro, estou tentando obter o mais simples possível ofuscamento de nomes de arquivos enviados para um armazenamento.

Eu descobri que uma string de 8 caracteres, aleatória o suficiente, seria uma maneira muito eficiente e simples de armazenar dezenas de milhares de arquivos sem uma provável colisão, quando implementada corretamente. Eu não preciso de exclusividade garantida, apenas uma alta improbabilidade de colisão de nomes (falando apenas de milhares de nomes).

Os arquivos estão sendo armazenados em um ambiente concorrente, portanto, incrementar o contador compartilhado é viável, mas complicado. Armazenar contador no banco de dados seria ineficiente.

Eu também estou enfrentando o fato de que random () em algumas circunstâncias retornamesmo sequências pseudo-aleatórias emdiferente processos.

questionAnswers(4)

yourAnswerToTheQuestion