Generator kodów PIN

Generuj losowe kody PIN o dowolnej długości cyfr, z opcją unikalnej partii. Generator kodów PIN używa crypto.getRandomValues i trzyma każde ciągnienie w przeglądarce.

Losowe wyniki są generowane w Twojej przeglądarce za pomocą crypto.getRandomValues(). Nic nie jest wysyłane na serwer.

01 Generator losowy

    Generator kodów PIN tworzy losowe kody PIN z samych cyfr o wybranej długości, od 1 do 12 cyfr, z opcją wygenerowania wielu unikalnych kodów w jednej partii. Ustaw długość cyfr i ile PIN-ów wyprodukować, a narzędzie zwraca dopełnione zerami ciągi liczbowe przy użyciu kryptograficznie uczciwego źródła losowości w przeglądarce.

    PIN, skrót od personal identification number, to ciąg cyfr o stałej długości używany do kodów zamków, weryfikacji kart bankowych, kodów urządzeń i podobnego uwierzytelniania o niskim tarciu. To narzędzie generuje przykładowe PIN-y do testów, dem i celów edukacyjnych.

    Generuj losowy PIN

    Concept diagram: Inputs leads to Generate a random PIN leads to ResultInputsGenerate a random PINResult
    Generate a random PIN.

    Wybierz długość cyfr od 1 do 12 oraz liczbę ciągów PIN do wyprodukowania, do 1000 w jednej partii. Każdy PIN to ciąg cyfr ciągniony jednorodnie z pełnej przestrzeni możliwych wartości dla tej długości; na przykład 4-cyfrowy PIN jest ciągniony spośród 10 000 możliwych kombinacji (0000 do 9999).

    possible PINs = 10^digits

    Dla 4-cyfrowego PIN-a to 10⁴ = 10 000 możliwych kodów. Dla 6-cyfrowego PIN-a to 10⁶ = 1 000 000 możliwych kodów, sto razy więcej kombinacji za dwie dodatkowe cyfry.

    Zachowaj wiodące zera w wyniku

    Concept diagram: Inputs leads to Keep leading zeros in result leads to ResultInputsKeep leading zeros inresultResult
    Keep leading zeros in the result.

    Każdy wygenerowany PIN jest dopełniony zerami do żądanej długości, więc losowo wylosowana wartość jak 42 przy żądaniu 4-cyfrowego PIN-a wyświetla się jako 0042, zachowując wszystkie cztery pozycje znaków.

    To ma znaczenie, bo PIN to kod o stałej długości, a nie liczba interpretowana z usualną wartością numeryczną; usunięcie wiodących zer skróciłoby kod i zmieniło to, co reprezentuje.

    Częsta pułapka przy eksporcie wygenerowanych PIN-ów do arkusza polega na tym, że oprogramowanie arkusza często interpretuje ciąg wyglądający numerycznie jako liczbę i po cichu usuwa wiodące zera. Trzymanie wygenerowanych wartości PIN jako tekstu, a nie konwersja do formatu komórki liczbowej, zapobiega zepsuciu kodów.

    Generuj partię unikalnych PIN-ów

    Concept diagram: Inputs leads to Generate a batch of unique PINs leads to ResultInputsGenerate a batch ofunique PINsResult
    Generate a batch of unique PINs.

    Ustawienie unique na Yes gwarantuje, że żaden ciąg PIN nie powtórzy się w tej samej wygenerowanej partii. Jeśli żądany count przekracza łączną liczbę możliwych PIN-ów dla wybranej długości cyfr, zbyt duże unikalne żądanie zwraca błąd zamiast po cichu produkować duplikaty.

    Przykład: żądanie 5 unikalnych 4-cyfrowych PIN-ów ciągnie z 10 000 możliwych kombinacji, które komfortowo wspierają unikalną partię tej wielkości. Żądanie 15 000 unikalnych 4-cyfrowych PIN-ów, więcej niż 10 000 możliwych kombinacji, zostałoby odrzucone, bo żadna partia unikalnych 4-cyfrowych PIN-ów nie może przekroczyć 10 000 kodów.

    Wybierz długość pasującą do typowych konwencji

    Concept diagram: Inputs leads to a length that matches common… leads to ResultInputsa length that matchescommon…Result
    Choose a length that matches common conventions.

    Cztero- i sześciocyfrowe PIN-y to najczęstsze długości w rzeczywistym użyciu, odpowiadające typowym PIN-om kart bankowych i wielu kodom odblokowania urządzeń mobilnych. Krótsze PIN-y szybciej się zapamiętuje, ale łatwiej zgadnąć brute force; dłuższe PIN-y wymieniają część zapamiętywalności na znacznie większą przestrzeń możliwych kombinacji.

    CyfryMożliwe kombinacje
    410 000
    61 000 000
    8100 000 000

    Każda dodatkowa cyfra mnoży przestrzeń możliwych kodów przez dziesięć, dlatego nawet skromny wzrost długości wyraźnie podnosi trudność zgadnięcia konkretnego kodu samym brute force.

    Sprawdź, czy metoda generowania jest uczciwa

    Concept diagram: Inputs leads to Verify generation method is fair leads to ResultInputsVerify generationmethod is fairResult
    Verify the generation method is fair.

    Cyfry PIN są ciągnione przy użyciu kryptograficznie bezpiecznego źródła losowości wbudowanego w przeglądarkę, tej samej metody bazowej używanej w narzędziach liczb losowych witryny, a nie prostszej, mniej rygorystycznej funkcji pseudolosowej. Rejection sampling zapobiega subtelnemu biasowi, który inaczej mógłby sprawić, że pewne cyfry lub kombinacje byłyby nieznacznie bardziej prawdopodobne niż inne.

    Używaj wygenerowanych PIN-ów odpowiedzialnie

    Concept diagram: Inputs leads to generated PINs responsibly leads to ResultInputsgenerated PINsresponsiblyResult
    Use generated PINs responsibly.

    Wygenerowane kody PIN tutaj są przeznaczone do demonstracji, testów i lokalnego rozwoju, na przykład wypełnienia testowej bazy danych lub przejścia przepływu UI oczekującego wejścia w kształcie PIN.

    Nie są przeznaczone do wpisywania w żywy przepływ odzyskiwania konta, prawdziwą konfigurację PIN-u finansowego ani inny produkcyjny kontekst bezpieczeństwa bezpośrednio z udostępnionego ekranu lub niezaufanego urządzenia.

    Porównaj długości cyfr obok siebie

    Comparison chart of Option A versus Option B across Case 1, Case 2, Case 3Case 1Case 2Case 3Option AOption B
    Compare digit lengths side by side.

    8-cyfrowy PIN oferuje 100 000 000 możliwych kombinacji, dziesięć tysięcy razy więcej niż 10 000 kombinacji 4-cyfrowego PIN-a. Ta luka pokazuje, dlaczego nawet skromny wzrost z 4 do 6 cyfr, typowy krok w górę dla kodów urządzeń, wyraźnie podnosi liczbę zgadywań, których potrzebowałaby próba brute force, zanim znajdzie dopasowanie.

    Najczęściej zadawane pytania

    Jak wygenerować losowy kod PIN?

    Wybierz długość cyfr i liczbę wyników, potem generuj. Narzędzie ciągnie każdy PIN jednorodnie z pełnej przestrzeni możliwych kombinacji dla tej długości i dopełnia go wiodącymi zerami w razie potrzeby.

    Ile możliwych kombinacji istnieje dla 4-cyfrowego PIN-a?

    10 000, bo 4-cyfrowy PIN może być dowolną wartością od 0000 do 9999.

    Dlaczego mój wygenerowany PIN zaczyna się od zera?

    Wiodące zera są częścią kodu PIN o stałej długości i są zachowane w wygenerowanym ciągu, bo PIN reprezentuje sekwencję cyfr, a nie wartość liczbową, w której wiodące zera byłyby usuwane.

    Czy mogę wygenerować wiele unikalnych PIN-ów naraz?

    Tak. Ustawienie unique na Yes gwarantuje, że żaden ciąg PIN nie powtórzy się w jednej wygenerowanej partii, do maksymalnej liczby możliwych kombinacji dla wybranej długości cyfr.

    Co się dzieje, gdy zażądam więcej unikalnych PIN-ów niż jest możliwe dla tej długości?

    Generator zwraca błąd zamiast produkować duplikaty PIN-ów, bo unikalna partia nie może przekroczyć łącznej liczby możliwych kombinacji dla wybranej długości cyfr.

    Czy bezpiecznie użyć wygenerowanego PIN-a do prawdziwego konta bankowego?

    Wygenerowane PIN-y tutaj są przeznaczone do testów i demonstracji. Konfiguracja prawdziwego PIN-u finansowego powinna podążać za konkretnymi wskazówkami bezpieczeństwa odpowiedniego banku lub usługi, a nie za ogólnym narzędziem online.

    Jak losowe są wygenerowane PIN-y?

    PIN-y są ciągnione przy użyciu kryptograficznie bezpiecznego źródła losowości wbudowanego w przeglądarkę, z rejection sampling stosowanym w celu uniknięcia biasu, co daje silniejszą gwarancję losowości niż prosta funkcja pseudolosowa.

    Podsumowanie

    Wygenerowanie losowego PIN-a oznacza wybór długości cyfr i liczby wyników, a potem ciągnienie dopełnionych zerami ciągów cyfr jednorodnie z pełnej przestrzeni możliwych kombinacji dla tej długości, 10 000 opcji dla 4-cyfrowego PIN-a lub 1 000 000 dla 6-cyfrowego PIN-a.

    Unikalne generowanie partii unika powtórzonych kodów do maksimum możliwego dla wybranej długości, a każdy PIN powstaje przy użyciu kryptograficznie uczciwego źródła losowości, które pozostaje lokalne w przeglądarce.