Generowanie unikalnych tokenów o określonej konsturkcji

0

Cześć,
Mam nadzieję, że dobrze wybrałem dział

Panowie, muszę wygenerować nieskończoną ilość tokenów, które powinny wyglądać następująco:

www.AdresStrony.pl/{czlon_1}/{czlon_2}

Zależy mi na tym, aby {czlon_1} był:
1/ możliwie krótki
2/ wygenerowany w bardziej zaawansowany sposób, niż tylko losowy ciąg znaków, tj. chcę się zabezpieczyć przed sytuacją w której losowa osoba wpisze losowy token o ustalonej długości, tj. wpisze np. 4 znaki i przez przypadek trafi w token, którego ktoś już kiedyś użył. Np. pierwsza i ostatnia cyfra tokena po jakiejś operacji matematycznej powinna zwracać taki, a nie inny wynik.

Najlepszym przykładem jest adres portfeli bitcoin, gdzie praktycznie niemożliwe jest podanie losowego ciągu znaków, który mógłby być adresem portfela.

Jak się za to zabrać i czego potrzebuję?

2

Nie da się osiągnąć warunku zerowego (nieskończona liczba tokenów) przy jednoczesnym warunku pierwszym (możliwa krótkość) — każdy system, który może wygenerować potencjalnie nieograniczoną liczbę wartości musi je móc generować arbitralnie długie (zasada szufladkowa się kłania).

Dalej, szansa na przypadkowe trafienie w dobry token jest równe (liczba dobrych tokenów)/(liczba możliwych tokenów) i nie zależy od metody ich generowania.

Potrzebne lektury to kody korekcyjne i funkcje skrótu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1