Generator Losowych Kluczy API - Darmowe Bezpieczne 32-znakowe Klucze
Natychmiastowe generowanie kryptograficznie bezpiecznych kluczy API. Darmowe narzędzie online tworzy losowe 32-znakowe klucze alfanumeryczne do uwierzytelniania. Generowanie po stronie klienta, bez przechowywania.
Generator Kluczy API
Dokumentacja
Generator losowych kluczy API to narzędzie, które tworzy losowy ciąg liter i cyfr do użycia jako kod podobny do hasła między dwoma programami komputerowymi. Działa całkowicie w przeglądarce internetowej odwiedzającego. Umożliwia wybranie długości klucza od 8 do 128 znaków, przy czym domyślnie ustawiona jest długość 32 znaków.
Czym jest klucz API?
Klucz API to ciąg znaków, który program wysyła wraz z żądaniem, aby potwierdzić, że ma prawo korzystać z usługi. Serwer internetowy sprawdza klucz, zanim odpowie na żądanie. W przeciwieństwie do nazwy użytkownika i hasła klucz API zwykle identyfikuje aplikację lub skrypt, a nie osobę.
Klucze działają najlepiej, gdy nikt nie może ich odgadnąć. Generator wykorzystujący prawdziwą losowość eliminuje wzorce występujące w kluczach wpisywanych przez człowieka, takie jak powtarzające się znaki lub krótkie, łatwe do zapamiętania słowa.
Jak działa ten generator
Narzędzie tworzy każdy klucz ze stałego zestawu 62 znaków: 26 wielkich liter A–Z, 26 małych liter a–z oraz 10 cyfr 0–9. Dla klucza o długości n wybiera po kolei n znaków z tego zestawu.
Każdy znak pochodzi z interfejsu Web Crypto API przeglądarki, a dokładnie z crypto.getRandomValues(). Jest to kryptograficznie bezpieczny generator liczb losowych (CSPRNG), w przeciwieństwie do Math.random() w języku JavaScript, który jest przewidywalny i nie nadaje się do wartości wymagających bezpieczeństwa.
Aby wybrać równomiernie losowy znak spośród 62 możliwości na podstawie losowego bajtu (256 możliwych wartości), generator nie może po prostu użyć byte % 62. Ponieważ 256 nie dzieli się równomiernie przez 62, zwykła operacja modulo sprawiłaby, że kilka pierwszych znaków w zestawie byłoby nieco bardziej prawdopodobnych niż pozostałe. Narzędzie eliminuje ten problem za pomocą metody odrzucania: odrzuca każdy losowy bajt, który powodowałby takie obciążenie, i zamiast niego losuje nowy. Dlatego każdy znak w finalnym kluczu ma takie samo, nieobciążone prawdopodobieństwo pojawienia się na każdej pozycji.
Jak wygenerować klucz API
- Wprowadź długość klucza od 8 do 128 znaków albo pozostaw wartość domyślną 32. Wartość spoza tego zakresu zostanie oznaczona jako nieprawidłowa, a zamiast niej zostanie użyta najbliższa dozwolona długość.
- Kliknij „Generate”. Klucz pojawi się w polu tekstowym, a cała operacja odbywa się w przeglądarce. Kliknięcie pola zaznacza cały klucz.
- Kliknij „Copy”, aby skopiować klucz do schowka. Niektóre przeglądarki przy pierwszym użyciu proszą o zgodę.
- Kliknij „Regenerate”, aby utworzyć nowy klucz o tej samej długości, albo „Reset”, aby usunąć klucz i przywrócić domyślną długość 32.
Pod kluczem narzędzie pokazuje trzy wartości: długość klucza w znakach, rozmiar zestawu znaków (zawsze 62) oraz entropię w bitach.
Żaden klucz nie jest wysyłany do serwera, rejestrowany ani przechowywany. Generowanie odbywa się za pomocą lokalnego kodu JavaScript, więc sprawdzenie aktywności sieciowej przeglądarki podczas generowania nie wykazuje żadnych żądań wychodzących.
Jak obliczyć liczbę możliwych kluczy
Liczba różnych kluczy, jakie można utworzyć dla danej długości, wynika z prostego wzoru:
gdzie N oznacza liczbę możliwych kluczy, c — rozmiar zbioru znaków, a n — długość klucza.
Rozmiar zestawu znaków w tym narzędziu zawsze wynosi 62. Dla domyślnej długości 32:
N = 62³² ≈ 2,27 × 10⁵⁷
Liczbę tę można również wyrazić jako entropię mierzoną w bitach, korzystając ze wzoru:
gdzie H oznacza entropię wyrażoną w bitach.
Dla klucza o długości 32 znaków: 32 × log₂(62) ≈ 32 × 5,95 ≈ 190,5 bitów.
czas sprawdzenia każdego klucza
Załóżmy, że atakujący może sprawdzać miliard (10⁹) kluczy na sekundę, co jest nierealistycznie dużą szybkością w każdym rzeczywistym systemie. Sprawdzenie każdego możliwego klucza o długości 32 znaków zajęłoby:
2,27 × 10⁵⁷ ÷ 10⁹ = 2,27 × 10⁴⁸ sekund ≈ 7,2 × 10⁴⁰ lat
Dla porównania Wszechświat ma około 1,4 × 10¹⁰ lat. Sprawdzenie wszystkich możliwych kluczy metodą siłową nie jest przy tej długości praktycznym zagrożeniem. Krótsze klucze szybko zmniejszają tę liczbę: klucz o długości 8 znaków ma tylko 62⁸ ≈ 2,18 × 10¹⁴ możliwych wartości, które szybki komputer mógłby przeszukać w ciągu kilku dni.
Dlaczego aplikacje używają kluczy API
Klucze API zapewniają usłudze prosty sposób ustalenia, która aplikacja wysyła żądanie. Ma to znaczenie z kilku powodów.
Uwierzytelnianie. Serwer może odrzucać żądania bez prawidłowego klucza, blokując większość przypadkowych nadużyć.
Śledzenie użycia. Ponieważ każdy klient może mieć inny klucz, usługa może monitorować wykorzystanie przez każdego klienta i stosować osobne limity liczby żądań dla poszczególnych kluczy.
Unieważnianie. Pojedynczy przejęty klucz można wyłączyć bez wpływu na innych klientów, ponieważ każdy klucz jest niezależny.
Klucze API są prostsze we wdrożeniu niż standard OAuth w wersji 2,0 — standard uwierzytelniania oparty na tymczasowych, automatycznie odnawianych tokenach. OAuth pasuje do usług publicznych, które przetwarzają dane osobowe użytkowników. Klucze API są często używane w narzędziach wewnętrznych, skryptach i połączeniach między usługami, gdzie dopuszczalne jest poświadczenie o długim czasie ważności.
Zasady bezpieczeństwa dotyczące kluczy API
Kilka praktyk zmniejsza ryzyko wycieku klucza:
- Nie przechowuj kluczy w kodzie źródłowym. Historię systemu kontroli wersji trudno wymazać, a publiczne repozytoria są stale skanowane w poszukiwaniu ujawnionych poświadczeń. Zamiast tego przechowuj klucze w zmiennych środowiskowych lub menedżerze sekretów.
- Regularnie zmieniaj klucze. Wymiana klucza co kilka miesięcy ogranicza czas, przez który wycieknięty klucz pozostaje przydatny atakującemu.
- Przyznawaj kluczowi tylko minimalny zakres uprawnień. Klucz, który umożliwia tylko odczyt danych, nie powinien pozwalać również na ich zapisywanie ani usuwanie.
- Obserwuj nietypową aktywność, taką jak nagły wzrost liczby żądań z jednego klucza.
Ograniczenia
Narzędzie nie przechowuje rejestru wygenerowanych kluczy, więc nie może zagwarantować, że dany klucz nie został wcześniej utworzony. Prawdopodobieństwo, że dwa losowe klucze o długości 32 znaków będą identyczne, wynosi około 1 na (2,5 cm) 2,27 × 10⁵⁷, czyli jest wystarczająco bliskie zeru do zwykłego użytku, ale systemy wymagające absolutnej gwarancji unikatowości, takie jak klucze główne baz danych, powinny sprawdzać na serwerze nowe wartości względem już istniejących.
Zestaw znaków obejmuje wyłącznie wielkie litery, małe litery i cyfry. Nie zawiera symboli takich jak ! ani -, dzięki czemu klucze można bez dodatkowego kodowania wklejać do większości adresów URL, nagłówków i plików konfiguracyjnych.
Często zadawane pytania
Czym jest generator kluczy API?
To narzędzie tworzy losowe ciągi znaków do użycia jako poświadczenia uwierzytelniające między aplikacjami. Ten generator tworzy klucze o długości od 8 do 128 znaków, wybierając je spośród 62 możliwych znaków, za pomocą kryptograficznie bezpiecznego generatora liczb losowych w przeglądarce.
Czy klucz z tego narzędzia jest wystarczająco bezpieczny do zastosowań produkcyjnych?
Sama losowość jest kryptograficznie bezpieczna. Ogólne bezpieczeństwo zależy również od sposobu przechowywania i przesyłania klucza: nigdy nie zapisuj go w systemie kontroli wersji, zawsze przesyłaj go przez HTTPS i regularnie go wymieniaj.
Jaką długość wybrać?
Domyślna długość 32 znaków daje około 2,27 × 10⁵⁷ możliwych kombinacji, znacznie więcej, niż można by sprawdzić w ramach realistycznej próby ataku siłowego. Krótsze klucze, na przykład o długości 16 znaków, mogą wystarczyć w przypadku narzędzi wewnętrznych o niskim ryzyku. Bardzo długie klucze zapewniają niewielką dodatkową ochronę, ale są trudniejsze do przechowywania i wklejania.
Czy mogę ustawić niestandardową długość?
Tak. Pole długości przyjmuje dowolną liczbę całkowitą od 8 do 128. Zestaw znaków (A–Z, a–z, 0–9) pozostaje niezmienny.
Czy narzędzie przechowuje lub przesyła wygenerowane klucze?
Nie. Każdy klucz jest generowany lokalnie w JavaScript w przeglądarce. Nic nie jest wysyłane do serwera, rejestrowane ani zapisywane.
Jaka jest różnica między kluczem API a tokenem OAuth?
Klucz API to poświadczenie o długim czasie ważności, które pozostaje ważne, dopóki ktoś go nie unieważni. Token OAuth wygasa automatycznie po określonym czasie i może zostać odświeżony bez bezpośredniego udziału użytkownika. OAuth pasuje do usług publicznych przetwarzających dane osobowe, a klucze API do prostszych zastosowań wewnętrznych lub programistycznych.
Jakie przeglądarki obsługuje to narzędzie?
Każda przeglądarka udostępniająca Web Crypto API, czyli wszystkie wersje przeglądarek Chrome, Firefox, Safari, Edge i Opera wydane w ciągu ostatniej dekady. Jeśli tego interfejsu brakuje, narzędzie wyświetla komunikat o błędzie. Nigdy nie korzysta awaryjnie z Math.random(), ponieważ nie jest to bezpieczne.