Znak alfanumeryczny: definicja, zastosowanie kryptograficzne, bezpieczeństwo

Znak alfanumeryczny: definicja, zastosowanie kryptograficzne, bezpieczeństwo

Sześćdziesiąt dwa. To jest łączna liczba różnych symboli dostępnych, gdy ktoś powie „używaj tylko znaków alfanumerycznych”. Dwadzieścia sześć wielkich liter, dwadzieścia sześć małych liter, dziesięć cyfr. Usuń rozróżnianie wielkości liter, a liczba spada do trzydziestu sześciu. Obie liczby mają znaczenie, ponieważ prawie każdy identyfikator cyfrowy, który kiedykolwiek wpisałeś — adres portfela, hasło Wi-Fi, skrót transakcji, token GitHub — jest zbudowany z wybranego podzbioru tych sześćdziesięciu dwóch symboli.

Wybór podzbioru i przyczyny jego wyboru to część, którą większość autorów objaśnień pomija. To również część, która łączy encyklopedyczną definicję znaku alfanumerycznego z praktycznym bezpieczeństwem portfela kryptowalut. Niniejszy artykuł omawia sam proces liczenia, standard, na którym się opiera, sposób, w jaki współczesna kryptografia wybiera podzbiory, oraz to, co obecnie na ten temat mówi amerykański urząd ds. haseł. Niektóre z tych wytycznych uległy zmianie w sposób, za którym większość porad dotyczących bezpieczeństwa jeszcze nie nadążyła.

Czym jest znak alfanumeryczny? Definicja i liczba

Zacznijmy od definicji. Znak alfanumeryczny to dowolna litera A–Z (w dowolnej wielkości) lub dowolna cyfra dziesiętna 0–9. To wszystko. Arytmetyka jest oczywista – dwadzieścia sześć liter na jedną literę plus dziesięć cyfr daje sześćdziesiąt dwa różne znaki z uwzględnieniem wielkości liter, trzydzieści sześć bez. Wszystko inne jest „specjalne”. Interpunkcja, odstępy, symbole matematyczne, litery akcentowane, emoji – nic z nich nie jest uważane za alfanumeryczne.

Inżynierowie zazwyczaj rozumieją definicję za pomocą jednego z dwóch skrótów. Narzędzia POSIX, takie jak grep, sed i awk, rozpoznają `[:alnum:]`, które pasuje do sześćdziesięciu dwóch powyższych znaków. Większość współczesnych odmian wyrażeń regularnych — Python, JavaScript, Java, PCRE — używa zamiast tego `\w`. Problem z `\w` polega na tym, że przemyca on podkreślenie. Podkreślenie formalnie nie jest alfanumeryczne. Większość składni programowania traktuje je jako honorowe, dlatego prefiks klucza Stripe `sk_live_` i prefiks klucza AWS `AKIA` łączą podkreślenia i wielkie litery z cyframi bez mrugnięcia okiem.

Skąd wziął się ten termin? Z kart perforowanych, ot, z czego. Urządzenia IBM do liczenia w latach 30. XX wieku wymagały jednego słowa dla kodów, które łączyły litery z cyframi, i „alfanumeryczny” się przyjął. Na początku lat 60., wraz z modelem IBM 1401, słowo to stało się standardem w informatyce biznesowej. To rozróżnienie sprawdziło się w praktyce – pole oznaczone jako „alfanumeryczne” akceptowało dowolną literę lub cyfrę; pole wyłącznie numeryczne całkowicie odrzucało alfabet. Stamtąd słowo to przeniknęło do tablic rejestracyjnych, kodów bankowych IBAN, mnemoników na klawiaturze telefonu, kodów SKU produktów i setek innych miejsc.

Rozróżnienie wielkości liter ma większe znaczenie, niż mogłoby się wydawać. Entropia hasła podwaja się, gdy dozwolone są wielkie litery. Adresy Base58 w Bitcoinie celowo stosują obie wielkości liter. Bech32 celowo pomija wielkość liter. Każdy z tych wyborów to kompromis między ekspresją a błędem ludzkim. Błędny wybór oznacza straty finansowe na literówkach.

Znak alfanumeryczny

Od ASCII do Unicode: krótka historia techniczna

„Alfanumeryczny” to dziś relikt wojny standardów, która trwała sześćdziesiąt lat. Większość użytkowników utknęła gdzieś pośrodku i nie zauważyła tego.

ASCII pojawił się pierwszy. Został wprowadzony w 1963 roku dzięki Amerykańskiemu Stowarzyszeniu Normalizacyjnemu (American Standards Association), a pięć lat później sformalizowany jako ANSI X3.4-1968. Potem pojawiły się dwie wersje – jedna w 1977 roku, a druga w 1986 roku. Wersja z 1968 roku przyporządkowała wielką literę A do liczby 65, małą literę a do 97, a cyfry od 0 do 9 do 48 do 57. Otwórz edytor już teraz: bajt „A” nadal wynosi 65. Nic nie zmieniło się przez sześćdziesiąt lat.

Przez około cztery dekady zestaw alfanumeryczny ASCII był zestawem alfanumerycznym. Potem pojawiła się globalna sieć. Siedem bitów przestało wystarczać. Tryby awarii były brzydkie. Zniekształcone wiadomości e-mail. Uszkodzone bazy danych. Japońskie strony internetowe, które działały idealnie w Tokio i wyglądały jak ściany znaków zapytania na amerykańskim laptopie. Unicode pojawił się w 1991 roku z ekstrawagancką ambicją: przypisać unikalny numer każdemu znakowi w każdym skrypcie, jaki ktokolwiek kiedykolwiek zapisał. UTF-8 pojawił się w 1992 roku jako kodowanie, które faktycznie przenosiło Unicode przez zwykłe sieci. Jego sztuczką była wsteczna kompatybilność — pierwsze 128 punktów kodowych UTF-8 to dokładnie oryginalne 1968 bajtów ASCII. Tekst w języku angielskim wysłany przed 1991 rokiem działał wiecznie.

Crossover nastąpił w grudniu 2007 roku. W tym miesiącu publiczne statystyki indeksowania sieci w końcu pokazały, że UTF-8 wyprzedziło ASCII jako najpopularniejsze kodowanie online. Od tego czasu „alfanumeryczny” przestał oznaczać wyłącznie sześćdziesiąt dwa symbole ASCII. Unicode kataloguje teraz bloki alfanumeryczne dla cyrylicy, greckiego, arabskiego, hebrajskiego i pisma CJK. Każdy skrypt ma swoje własne litery i cyfry.

W praktyce jednak oprogramowanie, które musi przekraczać granice, nadal domyślnie korzysta z oryginalnego podzbioru ASCII. Litery łacińskie A–Z. Cyfry arabskie 0–9. Nic więcej. Powód jest prozaiczny. Każda klawiatura generuje ASCII. Każda baza danych go akceptuje. Każdy silnik wyrażeń regularnych go zna. Wyjście poza ten zakres oznacza odziedziczenie portfolio błędów w kodowaniu, znaków podobiznowych i ataków phishingowych, do których wrócę poniżej.

Klasa Członkowie Liczyć Skrócona wersja wyrażenia regularnego Przykład
Alfabetyczny A–Z, a–z 52 `[A-Za-z]` Zwykłe angielskie słowo
Numeryczny 0–9 10 `[0-9]` lub `\d` Rok, kod pocztowy
Alfanumeryczny A–Z, a–z, 0–9 62 `[A-Za-z0-9]` lub `[:alnum:]` Klucz API, SKU
Specjalne / symboliczne `!@#$%^&*()_+-=[]{};:'"\ ,.<>/?` ~33 (ASCII) `[^A-Za-z0-9]` Modyfikator hasła

Znaki alfanumeryczne w kryptografii: adresy, hasze, ziarna

Oto fragment, który pomijają większość ogólnikowych wyjaśnień. Systemy kryptowalutowe nigdy nie używają pełnego, sześćdziesięciodwuznakowego zestawu alfanumerycznego. Wybierają starannie dobrane podzbiory . Każdy z nich jest udokumentowanym kompromisem inżynieryjnym, a nie arbitralną estetyką.

Bitcoin przede wszystkim. Tradycyjny adres Bitcoin (ten, który zaczyna się od 1 lub 3) jest zakodowany w Base58. Alfabet został zaprojektowany ręcznie przez Satoshi Nakamoto. Przepis: weź sześćdziesięciodwuznakowy zestaw alfanumeryczny, usuń cztery elementy. Wyrzuć cyfrę zero, wielkie O, wielkie I, małe l. Dlaczego akurat te cztery? Zapisz je na karteczce samoprzylepnej nieczytelnym pismem. Odejdź. Wróć za pięć minut. Spróbuj je rozróżnić. Nie dasz rady. To jest cały problem, dla którego Base58 został stworzony. Pozostało pięćdziesiąt osiem znaków. Typowy tradycyjny adres ma długość od dwudziestu sześciu do trzydziestu pięciu symboli — wystarczająco krótką, aby przepisać go ręcznie, jeśli naprawdę musisz.

SegWit został aktywowany w sierpniu 2017 roku. Wraz z nim pojawił się drugi format adresu Bitcoin: Bech32, zdefiniowany w BIP-173. Bech32 stosuje inne zasady. Uwzględnianie wielkości liter całkowicie znika — każdy adres jest pisany małymi literami. Pomijane są cztery inne znaki: cyfra 1 oraz b, i, o. Pozostałe trzydzieści dwie litery i cyfry posiadają wbudowaną sumę kontrolną. Suma kontrolna automatycznie wychwytuje niemal każdą literówkę. Taproot, działający od listopada 2021 roku, udoskonalił format do postaci Bech32m (BIP-350) po tym, jak badacze odkryli błąd w pierwotnych obliczeniach.

Ethereum wybrało trzecią drogę. Po prostu użyj heksadecymalnego. Adres Ethereum to `0x`, po którym następuje dokładnie czterdzieści znaków szesnastkowych; łącznie czterdzieści dwa znaki. Heksadecymalny zawęża zakres alfanumeryczny do szesnastu elementów. Cyfry 0–9, litery a–f, nic więcej. Wybór wydawał się oczywisty w 2015 roku. Po latach mrużenia oczu przez użytkowników w MetaMask, wygląda to brzydko. Rozwiązaniem okazał się EIP-55. Selektywne zapisywanie wielkich liter w schemacie uzyskanym z hasha Keccak-256 adresu z małymi literami. Rezultatem jest bezpłatne wykrywanie literówek. EIP-55 wychwytuje literówki z około 99,975% skutecznością. Współczynnik pomyłek wynosi około 0,0247%. Niewielki. Nie zerowy.

Najprostszym przypadkiem są skróty. Wynik skrótu SHA-256 ma 256 bitów i jest wyświetlany jako 64 znaki szesnastkowe. Keccak-256 w Ethereum generuje wynik o identycznej długości. Identyfikator transakcji Bitcoin — txid — to skrót SHA-256 samej transakcji, więc txid również składa się z 64 alfanumerycznych znaków szesnastkowych. Wyglądają groźnie w eksploratorze bloków. Są to czyste znaki alfanumeryczne.

Frazy zalążkowe przełamują ten schemat. Odzyskiwanie portfela BIP-39 to jedyne miejsce, w którym kryptografia wykracza poza alfanumerykę i powraca do czysto alfabetycznego terytorium. Standard koduje 128 lub 256 bitów entropii jako dwanaście lub dwadzieścia cztery angielskie słowa wybrane z ustalonej listy 2048 słów. Każde słowo składa się wyłącznie z małych liter — bez cyfr i bez mieszanych wielkich i małych liter. Dlaczego? Ponieważ celem projektu jest osoba pisząca słowa na papierze o 3 nad ranem, gdy jej telefon się zepsuje, a cyfry wprowadzają niejednoznaczność, której nie wprowadzają litery.

Identyfikator Zestaw znaków Długość Przykład (obcięty)
Adres starszego Bitcoina Base58 (58 znaków, bez 0/O/I/l) 26–35 `1A1zP1eP5QGefi2…`
Bitcoin Bech32 (SegWit) 32 małe litery, brak 1/b/i/o ~42 `bc1qar0srrr7xfk…`
Adres Ethereum szesnastkowy (0–9, a–f) + `0x` 42 `0xde0B295669a91…`
SHA-256 / txid klątwa 64 `e3b0c44298fc1c1…`
Słowo BIP-39 tylko a–z 3–8 na słowo `porzucić zdolność zdolną…`

Każdy podzbiór jest częścią projektu zorientowanego na człowieka, ukrytego w głęboko technicznym systemie.

Hasła alfanumeryczne: co NIST tak naprawdę mówi w 2024 roku

Większość porad dotyczących haseł w sieci publicznej jest nieaktualna od kilku lat. Używaj wielkich i małych liter, dodawaj cyfry, uwzględniaj co najmniej jeden znak specjalny i zmieniaj hasło co dziewięćdziesiąt dni – te zasady obowiązywały przez dwie dekady. Amerykański Narodowy Instytut Standardów i Technologii oficjalnie się od nich odstąpił.

Specjalna publikacja NIST 800-63B, federalny organ ds. wytycznych dotyczących tożsamości cyfrowej, sfinalizowała czwartą wersję we wrześniu 2024 r. Nowe wytyczne uderzają ilością usuniętych elementów. Minimalna zalecana długość została zwiększona do piętnastu znaków w przypadku uwierzytelniania jednoskładnikowego. Instrukcja dotycząca zasad kompozycji znaków została sformułowana jako „nie powinno”: usługi nie powinny wymagać określonych klas znaków. Okresowe wygasanie haseł, którego wszyscy nienawidzili, co dziewięćdziesiąt dni, również zostało usunięte. Zamiast tych zasad NIST wymaga teraz od usług sprawdzania przesłanych haseł pod kątem listy blokowanych danych uwierzytelniających, o których wiadomo, że zostały naruszone.

Przesunięcie to jest uzasadnione matematyką entropii. 62-znakowa pula alfanumeryczna generuje około 5,95 bitów na znak. Pełna, 95-znakowa pula drukowalnych znaków ASCII – alfanumeryczna plus znaki specjalne – generuje 6,57. Dodanie pełnego zestawu znaków specjalnych daje 0,62 bitów na znak. Dodanie jednego znaku o długości daje pełne 5,95. Długość dominuje nad złożonością o rząd wielkości.

Raport Verizon dotyczący dochodzeń w sprawie naruszeń danych z 2025 roku wykazał, że dane uwierzytelniające stanowią 22% wszystkich potwierdzonych punktów wejścia w naruszenie. Wypychanie danych uwierzytelniających (ang. credential stuffing) – automatyczne ponowne wykorzystywanie wyciekłych list haseł – występuje w 19% prób uwierzytelnienia, osiągając medianę na poziomie 44%. Czterdzieści dziewięć procent użytkowników ponownie wykorzystuje hasła w różnych usługach. Żadnego z tych problemów nie rozwiązuje wymóg stosowania wielkiej litery.

Dłuższe hasło alfanumeryczne bez znaków specjalnych jest trudniejsze do złamania niż krótkie hasło, ułożone tak, aby spełniało wymagania listy kontrolnej złożoności. Jeśli Twój bank nadal wymaga od Ciebie utworzenia dwunastoznakowego hasła z jedną wielką literą, jedną cyfrą i jednym znakiem specjalnym, ta polityka formalnie jest niezgodna z federalnym standardem obowiązującym w USA.

Gdzie indziej pojawiają się znaki alfanumeryczne

Wyjdźmy poza kryptografię, a hasła i ciągi alfanumeryczne nadal będą pojawiać się wszędzie tam, gdzie system potrzebuje identyfikatora, który ludzie mogą wpisać, a komputery mogą przeanalizować bez żadnych niejasności.

Kody bankowe są prostym przykładem. Numer IBAN może mieć trzydzieści cztery znaki alfanumeryczne i zawsze zaczyna się od dwuliterowego kodu kraju ISO. Kody SWIFT/BIC mają osiem lub jedenaście znaków. Tablice rejestracyjne różnią się w zależności od kraju – tablica brytyjska w niczym nie przypomina niemieckiej – ale oba są alfanumerycznymi podzbiorami tej samej puli sześćdziesięciu dwóch znaków. Numery identyfikacyjne pojazdów (VIN) na całym świecie składają się dokładnie z siedemnastu znaków, a numery VIN celowo zabraniają używania liter I, O i Q, aby wizualnie odróżnić je od cyfr.

Klucze API to codzienne przykłady, na które większość użytkowników nawet nie zwraca uwagi. Klucz Live Stripe otwiera `sk_live_` plus token alfanumeryczny. Klucz dostępu AWS otwiera `AKIA` plus szesnaście znaków alfanumerycznych. Osobisty token dostępu GitHub wydany po 2021 roku otwiera `ghp_`. Te prefiksy są alfanumeryczne i wybierane, aby dostawcy mogli skanować publiczne repozytoria i logi w poszukiwaniu wyciekłych kluczy. W wielu przypadkach skanowanie wykrywa błąd, zanim zrobi to atakujący.

Warto wspomnieć o kodach QR. Norma ISO/IEC 18004 definiuje dedykowany „tryb alfanumeryczny”, który koduje określony zestaw 45 znaków – wielkie litery, cyfry, spację i kilka znaków interpunkcyjnych – wydajniej niż standardowy tryb bajtowy. Kod QR zawierający wyłącznie wielkie litery alfanumeryczne przechowuje około 1,6 razy więcej danych na kwadrat niż ta sama zawartość zakodowana jako surowe bajty.

Base32, Base58, Base64: Kiedy Crypto wybiera podzbiór

Istnieje kilka standardów kodowania, które służą do mapowania kodu binarnego na podzbiór alfanumeryczny. Przykładem jest RFC 4648, opublikowany przez IETF w 2006 roku. Definiuje on trzy kodowania.

Hex jest najprostszym z nich. Oficjalnie Base16. Szesnaście znaków: 0–9, a–f. Używany do adresów Ethereum, skrótów kryptograficznych i niemal każdego debugowania niskiego poziomu, gdzie konieczne jest odczytanie surowych bajtów. Base32 jest bardziej interesujący. 32-znakowy alfabet został wybrany ze względu na brak rozróżniania wielkości liter i, w niektórych wariantach, pominięcie wizualnie mylących cyfr 0, 1, 8 i 9. Każdy, kto skonfigurował uwierzytelnianie dwuskładnikowe i wpisał tajny kod w Google Authenticator, wpisał Base32 — najczęściej nieświadomie.

Base64 to prawdziwy „koń roboczy”. Sześćdziesiąt dwa znaki alfanumeryczne plus dwa symbole `+` i `/`. Wariant bezpieczny dla adresów URL zamienia je na `-` i `_`. Base64 obsługuje załączniki do wiadomości e-mail, koduje adresy URL danych w kodzie HTML i pakuje tokeny sieciowe JSON dla protokołu OAuth.

Kod Base58 Bitcoina nie jest zgodny z RFC 4648. Satoshi Nakamoto stworzył go niezależnie. Cel był inny – ludzie przepisywali adresy, a nie wydajność bajtów na znak – a rezultatem był niestandardowy alfabet, którego nikt inny nie używa. Kod Base85, czasami nazywany Ascii85, działa w odwrotnym kierunku. Łączy cztery bajty w pięć znaków i pojawia się w plikach PDF i PostScript, gdzie dodatkowa gęstość uzasadnia utratę czytelności.

Znak alfanumeryczny

Typowe pułapki: dezorientacja wizualna i sobowtóry

Z tych samych powodów, dla których kryptowaluty wybierają podzbiory alfanumeryczne, wszyscy popełniają błędy. Kilka par znaków powoduje większość problemów.

Klasyczne znaki mylące: zero i wielkie O. Cyfra jeden, małe l, wielkie I. Małe l i wielkie I. Bitcoin Base58 odrzuca wszystkie cztery z tego powodu. Inne systemy stosują inne środki zaradcze — numery VIN odrzucają litery I, O i Q, niektóre kody finansowe całkowicie odrzucają literę O, a w krajowych przepisach dotyczących tablic rejestracyjnych można znaleźć zakazy dotyczące liter, które w czcionce danego kraju najbardziej przypominają 0.

Trudniejszym i nowszym problemem są ataki homograficzne Unicode. Pomysł ten został udokumentowany w artykule z 2001 roku autorstwa Jewgienija Gabrilowicza i Aleksieja Gontmachera. Homograf podmienia wizualnie identyczny znak z innego alfabetu – na przykład cyrylicę „a” (U+0430) na łacińskie „a” (U+0061). Zarejestruj nazwę domeny z taką zamianą, a możesz utworzyć stronę phishingową, która będzie nie do odróżnienia od prawdziwego banku. Nowoczesne przeglądarki wyświetlają surową reprezentację Punycode – coś w rodzaju `xn--80akhbyknj4f` – za każdym razem, gdy domena miesza alfabety. Ta obrona chroni przed większością ataków. Ale nie wszystkimi.

Jak stworzyć silne hasło alfanumeryczne w 2026

Trzy zasady. Wszystkie wywodzą się bezpośrednio z matematyki NIST.

Po pierwsze: długość jest ważniejsza od klasy znaków. Celuj w szesnaście lub więcej znaków. Zasada obowiązuje niezależnie od tego, czy system akceptuje tylko litery i cyfry, czy cały drukowalny zestaw znaków ASCII.

Po drugie: jeśli musisz je zapamiętać, użyj hasła. Cztery losowe słowa z długiej listy – lista Diceware to opcja kanoniczna – są skuteczniejsze niż prawie każde krótkie hasło, które wymyśli człowiek.

Po trzecie: we wszystkich pozostałych przypadkach korzystaj z menedżera haseł. Pozwól mu generować długie ciągi alfanumeryczne, których nigdy nie będziesz musiał czytać ani wpisywać ręcznie. Gdy menedżer zajmie się danymi wyjściowymi, ich czytelność przestaje mieć jakiekolwiek znaczenie.

Krótki przewodnik: Liczby alfanumeryczne i przykłady

Sześćdziesiąt dwa z uwzględnieniem wielkości liter. Trzydzieści sześć bez. Kody ASCII 48–57 dla cyfr. 65–90 dla wielkich liter. 97–122 dla małych liter. Dopasuj cały zestaw do wyrażenia regularnego `[A-Za-z0-9]` lub klasy POSIX `[:alnum:]`. Ta pula sześćdziesięciu dwóch symboli leży u podstaw niemal każdego identyfikatora cyfrowego, którego dotkniesz w tym tygodniu. Hasła. Klucze API. Numery IBAN. Tablice rejestracyjne. Identyfikatory transakcji. Każdy generowany adres portfela.

Jakieś pytania?

Ponieważ Satoshi Nakamoto usiadł i usunął każdy znak, który koliduje wizualnie z innym w popularnych czcionkach. Zero koliduje z wielkim O. Małe l koliduje z wielkim I. Użytkownik Bitcoina przepisujący adres z papierowej kopii zapasowej wprowadzi ich w błąd. To zamieszanie będzie kosztować ludzi prawdziwe pieniądze. Pomińcie czterech przestępców, a wskaźnik literówek spadnie.

Nie. Interpunkcja, symbole matematyczne, znaki walut, spacje – wszystko, co nie jest literą ani cyfrą, znajduje się poza zestawem alfanumerycznym. Możesz dodać je do hasła i zyskać ułamek bitu entropii dla każdego znaku. Dodanie jednego dodatkowego znaku o określonej długości zazwyczaj przynosi znacznie więcej korzyści.

Hasło składa się z liter i cyfr, bez symboli. Norma NIST SP 800-63B Rev 4 — opublikowana we wrześniu 2024 r. — w obecnej wersji nie wymaga już znaków specjalnych. Obowiązującym zaleceniem jest minimum piętnaście znaków plus sprawdzenie listy blokowanych haseł pod kątem znanych naruszeń. Większość korporacyjnych polityk dotyczących haseł jest wciąż o kilka lat opóźniona w stosunku do tych wytycznych.

Tak, choć nigdy nie cały zestaw. Tradycyjne adresy Bitcoin korzystają z Base58, który usuwa 0, O, I i l. Adresy SegWit Bech32 korzystają z trzydziestodwuznakowego podzbioru małych liter, który usuwa 1, b, i oraz o. Powód obu wyborów jest identyczny — ludzie mylą podobne znaki podczas przepisywania, a zdezorientowani powtarzający tracą pieniądze.

Nie. Spacja znajduje się w klasie białych znaków, która jest zupełnie osobnym kontenerem. Uruchom dowolny test — POSIX `[:alnum:]`, wyrażenie regularne `[A-Za-z0-9]`, Python `isalnum()`, wyrażenie regularne JavaScript `\w` — a każdy z nich odrzuci spacje, tabulatory i nowe wiersze.

Sześćdziesiąt dwa, jeśli wielkość liter ma znaczenie. Dwadzieścia sześć wielkich liter, dwadzieścia sześć małych liter, dziesięć cyfr. Wyłącz rozróżnianie wielkości liter, a będziesz pracować z trzydziestoma sześcioma. Podział sięga aż do standardu ASCII z 1968 roku. Od tamtej pory nie uległ zmianie.

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.