Diversas soluções podem ser encontradas na internet sobre como fazer isso. Mas descobri que todos eles são pesados e sofisticados. Na maioria das vezes, a solução parece orientar a implementação de um algoritmo hash em torno de um número aleatório.
A solução que costumo usar é curta, rápida e boa o suficiente para 80% do seu caso de uso.
Math.floor(Date.now() * Math.random()).toString(36)