Do czego służy generator kodów alfanumerycznych

Generator kodów alfanumerycznych tworzy losowe ciągi liter i cyfr, które nie powtarzają się na liście. Takich kodów potrzebuje sklep, który rozsyła jednorazowe rabaty, organizator wydarzenia, który wydaje kody wejściowe, albo szkoła, która rozdaje kody dostępu do platformy.

Ustawiasz długość, rodzaje znaków, prefiks i podział myślnikami, a generator od razu pokazuje listę i liczbę możliwych kodów. Gotową listę kopiujesz albo pobierasz jako CSV, TXT lub JSON. Jeśli potrzebujesz samych cyfr, np. PIN-ów, skorzystaj z generatora PIN, a do identyfikatorów w bazach danych z generatora UUID.

Jak wygenerować kody

  1. Ustaw długość kodu i liczbę kodów, od 1 do 1000.
  2. Zaznacz rodzaje znaków. Do kodów przepisywanych z kartki wystarczą wielkie litery i cyfry.
  3. Zostaw włączoną opcję Bez mylących znaków, jeśli ktoś będzie kod przepisywał.
  4. Dodaj prefiks albo sufiks i wybierz podział myślnikami, np. co 4 znaki.
  5. Skopiuj listę albo pobierz plik. Przycisk Generuj nowe kody losuje kolejną listę z tymi samymi ustawieniami.

Lista zmienia się przy każdej zmianie ustawień, więc od razu widać, jak będą wyglądały kody. Jeśli przy wybranych ustawieniach nie da się ułożyć tylu różnych kodów, ile potrzebujesz, generator o tym napisze.

Ile kodów da się utworzyć

Liczba możliwych kodów to liczba znaków w alfabecie podniesiona do potęgi równej długości kodu. Dla kodów 8-znakowych wygląda to tak:

Liczba możliwych kodów 8-znakowych dla różnych zestawów znaków
Znaki Alfabet Możliwych kodów
Cyfry 0–9 10 1 × 10⁸
Wielkie litery i cyfry A–Z, 0–9 36 2,82 × 10¹²
Wielkie litery i cyfry bez mylących bez 0 O 1 I 32 1,1 × 10¹²
Wielkie i małe litery, cyfry A–Z, a–z, 0–9 62 2,18 × 10¹⁴
Wielkie i małe litery, cyfry bez mylących bez 0 O 1 I l 57 1,11 × 10¹⁴

Wyłączenie mylących znaków zmniejsza pulę, ale niewiele: przy wielkich literach i cyfrach z 2,82 do 1,1 biliona kodów. Wydłużenie kodu o jeden znak mnoży liczbę możliwości przez wielkość alfabetu, więc przy braku miejsca lepiej dodać znak niż mieszać wielkie i małe litery.

Jak trudno zgadnąć kod rabatowy

Dla kodu rabatowego liczy się to, jak łatwo trafić w dowolny ważny kod, a nie konkretny. Jeśli wydasz 1000 kodów 8-znakowych z alfabetu 32 znaków, jedna losowa próba trafi w któryś z nich z szansą 1 do 1,1 miliarda. Gdy kodów jest więcej albo są krótsze, ta szansa szybko rośnie. Generator pokazuje ją dla bieżących ustawień.

Sam kod nie wystarczy jednak jako zabezpieczenie. Sklep albo system rejestracji powinien ograniczać liczbę nieudanych prób z jednego konta i adresu, sprawdzać kody po stronie serwera i oznaczać je jako wykorzystane. Wtedy nawet krótki kod trudno odgadnąć metodą prób i błędów.

Mylące znaki i format kodu

W wielu krojach pisma zero wygląda jak litera O, a jedynka jak wielkie I albo małe l. Klient, który przepisuje kod z ulotki, łatwo je pomyli. Opcja Bez mylących znaków pomija 0, O, 1, I i l, więc takiej pomyłki nie da się popełnić.

Przykładowe formaty kodów i ich zastosowania
Przykład Ustawienia Gdzie się sprawdzi
X7KQ2M9R 8 znaków, A–Z i 0–9 jednorazowe kody rabatowe
LATO-4BNZ9W prefiks i 6 znaków kody z kampanii, łatwe do rozpoznania
QH7D-3MKX-9RTA 12 znaków co 4 vouchery i karty podarunkowe do przepisania
aK7mP2nX9qBv4Wj3 16 znaków, litery i cyfry kody wysyłane e-mailem i kopiowane

Podział myślnikami pomaga przy przepisywaniu dłuższych kodów, bo łatwiej porównać grupy po 4 znaki niż 12 znaków ciągiem. Sprawdź jednak, czy sklep albo system, do którego importujesz kody, przyjmuje myślniki i symbole.

Jak wdrożyć kody w kampanii

  • Zaimportuj kody do sklepu albo bazy przed rozesłaniem i dopiero wtedy je wysyłaj.
  • Ustaw datę ważności i limit użyć. Kod bez limitu może krążyć w internecie miesiącami.
  • Przy kilku partiach do tej samej kampanii sprawdź, czy nowe kody nie powtarzają starych. Generator pilnuje unikalności tylko w ramach jednej listy.
  • Przed dużą wysyłką zaimportuj kilka kodów na próbę i sprawdź, czy system przyjmuje ich długość i znaki.
  • Nie trzymaj listy ważnych kodów w miejscach, do których mają dostęp osoby z zewnątrz, np. w publicznym arkuszu.

Często zadawane pytania

Czy kody się powtarzają?

Na jednej liście nie. Generator odrzuca powtórzenia, więc 1000 kodów to 1000 różnych kodów. Nie pamięta jednak list z poprzednich losowań, więc przy kolejnych partiach do tej samej kampanii sprawdzaj duplikaty w swoim systemie.

Jak losowane są kody?

Generator korzysta z crypto.getRandomValues, czyli generatora liczb losowych przeznaczonego w przeglądarkach do zastosowań kryptograficznych. Każdy znak jest wybierany z równym prawdopodobieństwem, a kody powstają w przeglądarce, bez wysyłania na serwer.

Jak długi powinien być kod rabatowy?

Kod przepisywany z ulotki albo paragonu najlepiej trzymać w granicach 6–10 znaków i dzielić myślnikami. Ważniejsze od długości jest to, ile kodów wydajesz w stosunku do liczby możliwych kodów. Przy 8 znakach z 32-znakowego alfabetu i 1000 wydanych kodów losowa próba trafia w ważny kod raz na ponad miliard prób.

Po co prefiks i sufiks?

Stały fragment, np. LATO- na początku albo -PL na końcu, pozwala od razu rozpoznać kampanię albo kanał, z którego pochodzi kod. Prefiks nie zwiększa liczby możliwych kodów, bo jest taki sam we wszystkich.

Czy można użyć tych kodów jako haseł albo tokenów?

Losowość jest odpowiednia, ale do haseł lepiej nadaje się generator haseł z dłuższym ciągiem i większym zestawem znaków. Tokeny do logowania czy resetu hasła powinny powstawać po stronie serwera, w momencie użycia, a nie w zewnętrznym narzędziu.

W jakim formacie pobrać kody?

CSV z jedną kolumną „kod” nadaje się do arkusza i większości sklepów internetowych. TXT ma jeden kod w wierszu. JSON zawiera kody razem z ustawieniami, czyli długością, prefiksem, sufiksem i zestawem znaków.