Почему мой Crypto.getRandomValues ​​() Base36 Generator производит дубликаты, несмотря на 2,8 триллиона возможностей?Javascript

Форум по Javascript
Anonymous
Почему мой Crypto.getRandomValues ​​() Base36 Generator производит дубликаты, несмотря на 2,8 триллиона возможностей?

Сообщение Anonymous »

Вот функция: < /p>
export function generateId(): string {
const chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let result = "";

const randomArray = new Uint8Array(8);
crypto.getRandomValues(randomArray);

for (let i = 0; i < 8; i++) {
result += chars[randomArray % 36];
}

return result;
}
< /code>
он должен генерировать 8-символ случайных идентификаторов Base36, например, QZ08HNDL. Base36 использует 0-9 и A-Z (36 символов). Если идентификатор составляет 8 символов = 36^8 = ~ 2,8 триллиона возможностей. Насколько это вероятно? Есть ли недостатки в этой функции?

Подробнее здесь: https://stackoverflow.com/questions/797 ... cates-desp

Вернуться в «Javascript»