Перейти до вмісту
100% локально

Генератор випадкових байтів

Криптографічно стійкі випадкові байти у hex, Base64 або масиві байтів.

Вихід

Генератор випадкових байтів

Згенеруйте криптографічно стійкі випадкові байти та отримайте їх у потрібному кодуванні. Це аналог команд openssl rand -hex 32 або openssl rand -base64 32, але в браузері: вкажіть кількість байтів, оберіть формат, і значення одразу з'явиться на екрані. Найчастіше такі байти потрібні для API-ключів, секретів сесій, ключів шифрування, солей, nonce, CSRF-токенів і тестових даних.

Оберіть hex у нижньому або верхньому регістрі, стандартний Base64, URL-безпечний Base64url без доповнення, десятковий масив байтів на кшталт [12, 255, 7] або масив з префіксом 0x, який можна вставити прямо в код на C, Go, Rust або Java. Довжина вказується в байтах, а не в символах, тож hex-результат завжди вдвічі довший за кількість байтів, а 32 байти дають 256 біт ентропії. Можна створити одразу кілька значень, додати префікс на кшталт sk_ до кожного рядка або розбити hex на групи через дефіс, щоб довгі ключі було легше читати й порівнювати.

Байти беруться з Web Crypto API через crypto.getRandomValues, тобто з того самого системного джерела, яким браузери користуються для TLS, і ніколи з Math.random. Одне значення може мати до 1024 байтів, а за один запуск створюється до 1000 значень. Підсумок під результатом показує кількість байтів, біти ентропії, довжину виводу та еквівалентну команду openssl для вибраної довжини й формату.

Усе працює локально у вашому браузері. Байти генеруються на вашому пристрої, нікуди не надсилаються і не зберігаються, тож створені секрети залишаються у вас. Скопіюйте результат, завантажте його як файл .txt або передайте в інший інструмент.

FAQ

Чим це відрізняється від генератора випадкових рядків?
Генератор випадкових рядків вибирає символи із заданого набору й рахує символи. Цей інструмент рахує байти, а потім їх кодує, тож довжина hex завжди вдвічі більша за кількість байтів, як у openssl rand.
Скільки байтів потрібно для секретного ключа?
Для більшості API-ключів і секретів сесій достатньо 32 байтів (256 біт). Мінімум для токенів — 16 байтів (128 біт), а для ключів, які мають витримувати довгострокові атаки, беріть 64 байти.
Який формат обрати?
Для конфігураційних файлів і командного рядка найбезпечніший hex. Base64 коротший, а Base64url варто використовувати в URL, JWT-секретах і назвах файлів, бо в ньому немає знаків плюс, слеш і доповнення.
Чи справді байти випадкові і чи відправляються вони кудись?
Вони беруться з crypto.getRandomValues, вбудованого в браузер генератора випадкових чисел, і створюються на вашому пристрої. Нічого не надсилається на сервер і не зберігається, тож ваші секрети залишаються локальними.