Українська

Інструменти розробника · UUID генератор

Як crypto.getRandomValues Повороти 16 Випадкові Bytes В v4 UUID

· Як працює

Опубліковано ToolAcre · Рецензування журналу

Увійти криптографія веб-сайт

Шостнадцять випадкових байтів з версією і варіантом бітових полів виділяється
Головна ToolAcre векторна ілюстрація

Версія 4 UUID Про нас 16 bytes з криптографічно захищеного генератора з шістьма перезаписами. Ця пошта йде на байтах з Web Crypto виклику на знайомий 36-character string.

Ідентифікатор необхідно до відповідей сервера — чому клієнт-нафта заходить в автономні форми, оптимістичне UI та пакетне імпорт

Для того, як сервер відповідає, а оптимістичний UI може створити декілька об'єктів одночасно. UUIDv4 призначений для створення самостійно без центрального лічильника. Не є доказом ідентичності користувача або секрету, який можна сміливо покласти на місце автентифікації. Якщо ваша база даних потребує значень, які сортують час створення, випадкові ідентифікатори v4 не замовляється; це окреме рішення схеми, а не причин ослаблення їх випадковості.

Що crypto.getRandomValues фактично — заповнення типу масиву з джерела ентропії операційної системи, а не з джерела JavaScript укр

crypto.getRandomValues заповнює Uint8Array з 16 bytes з криптографічно захищеного генератора браузера. Це не викликає значення від Date.now() або Math.random(). Операційна система та веб-переглядач реалізують основне джерело ентропії, тому JavaScript Код отримує байти, а не реалізовує саму формулу випадкових чисел. ToolAcre відмовляється генерувати ідентифікатор, якщо його захищене джерело відсутні.

Опископичення 6 й 8 — як виглядає версія ніблука 4 і варіанти бітів стають 10xx, і чому тільки шість біт втратили

RFC 9562 описує версію nibble і поле варіанту. Починаючи з шістнадцяти випадкових байтів, встановлюють високі чотири біти байтів 6 до бінарних 0100 (версія) 4), і встановити верхній два біти байтів 8 до 10 (стандартний варіант). Впровадження використовує (byte6 & 0x0f) 0x40 і (byte8 & 0x3f) 0x80. Шість біт перезаписуються, залишаючи 122 випадкові біти за схемою UUIDv4. Ці постійні біти не роблять залишилися байт менш випадковими.

Від байтів до 8-4-4-4-12 — кодування шістнадцяти, вихід з нижньої колонтитули та розміщення фена в стандарті визначає їх

Увімкніть кожен байт, як саме два шістнадцяткові символи з провідною нуль при необхідності. Вставте даше після 4, 6, 8 і 10 bytes, виготовлення знайомого 8-4-4-4-12 шістнадцяткових груп. Реальний v4 рядок має a 4 при старті своєї третьої групи і однієї з 8, 9, або б при старті четвертого. Форматування не додає ентропії; це тільки робить основу 128-необхідне значення з інструментами, які очікують UUID текстова форма.

Приклад роботи — один 16-розташуйте буфер, простеживши за допомогою маскування та форматування до його остаточного UUID Увійти

Перевірити ілюстраційні байти 00 11 22 33 44 55 Ф6 77 38 99 AA BB CC DD EE FF. Маскування F6 на байт 6 виробництво 46; маскування 38 бетмен 8 виробляє B8. Після того, як нижня кришка шістнадцяткового форматування і побажає результат 00112233-4455-4677-b899-aabbccddeeff. Це свідомо фіксований приклад викладання, не ідентифікатор для повторного використання у виробництві. Порівняти варіант і варіанти позицій самостійно.

crypto.randomUUID() як один-кільковий ярлик — який метод новачка для вас і де він недоступний

На безпечне походження, crypto.randomUUID() виконує v4 покоління і форматування в одному виклику. ToolAcre використовувати його, де доступні та інші падають назад до getRandomValues з чіткими операціями. Доступність браузера відрізняється контекстом: randomUUID обмежується збереженням контекстів, при цьому getRandomValues може бути на місці HTTP LAN сторінка Не більше гілок падає назад до Math.random легко тримати кнопку, очевидно, працює.

Що це не охоплює — часові (v1, v7) і іменні (v3, v5) версії, які потребують різних входів, ніж випадкові байти

Цей механізм не описує ідентифікатори на основі часу v1 або v7, на основі імен v3/v5 ідентифікатори, або експериментальні макети v8. Випадкові UUIDs мають дуже низьку ймовірність зіткнення з випадковістю звуку, не абсолютна математична неможливість зіткнення. В4 UUID по собі не слід використовувати як контрольний контрольний контрольний контроль або пароль-відновлення токен без розгляду секретності, термін служби та авторизації самостійно.

Вечеря: безпечна випадковість - це вся робота - ToolAcre UUID Генератор малює з того ж браузера CSPRNG, так що ви копіюєте, що ваш код буде виробляти

Безпечна випадковість - це робота. Про нас ToolAcre UUID Генератор використовує браузер CSPRNG, застосовує версію і варіант біт і пропонує добре сформовану перевірку для скопійованих значень. Порівняти генерований результат за допомогою прикладу байтів, після чого використовувати новий, унікальний вихід тільки для ролі вашої програми, фактично присвоюється його.