Чем этот генератор псевдо-GUID лучше, чем math.random ()?

Я нашел здесь вопрос:

Создать GUID / UUID в JavaScript?

Ответ содержит следующий JS:

function S4() {
   return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
}

function guid() {
   return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
}

Теперь некоторые из этого кажутся мне глупыми. Почему так много повторений? Я планировал использовать это для имени файла, загружаемого на мой сервер, чтобы они не перекрывали друг друга. Не похоже, что всегда будет генерироваться уникальный номер.

Каковы преимущества приведенных выше кодов по сравнению с простым именем файла math.random () . Это даже не меняет семя.

Извините, я никогда не работал с GUID / UUID, и часть кода не имеет для меня никакого смысла ...

УТОЧНЕНИЕ

Многие люди не отвечают на вопрос типа Я спросил это. Многие люди объясняют, что GUID не всегда уникален, бла-бла-бла. Я не об этом спрашиваю. Я спрашиваю, какой смысл использовать его вместо math.random () .

Джо, кажется, дал мне лучший ответ в комментариях.

6
задан Community 23 May 2017 в 12:19
поделиться