Co to jest Sqids?

Sqids to biblioteka typu open-source, która pozwala generować krótkie, unikatowe identyfikatory na podstawie liczb. Identyfikatory te są bezpieczne dla adresów URL, mogą kodować kilka liczb i nie zawierają popularnych wulgaryzmów. Czytaj więcej .

Oto jak one wyglądają:

https://example.com/Lqj8a0

Szybki przykład szyfrowania i deszyfrowania:

Sqids *sqids = [[Sqids alloc] init];
NSString *id_ = [sqids encode:@[@1, @2, @3] error:nil]; // @"86Rf07"
NSArray<NSNumber *> *numbers = [sqids decode:id_]; // @[@1, @2, @3]

Jeśli identyfikatory są zbyt krótkie, możesz je wydłużyć do określonej długości:

SqidsOptions *options = [[SqidsOptions alloc] init];
options.minLength = @10;
Sqids *sqids = [[Sqids alloc] initWithOptions:options];
NSString *id_ = [sqids encode:@[@1, @2, @3] error:nil]; // @"86Rf07xd4z"
NSArray<NSNumber *> *numbers = [sqids decode:id_]; // @[@1, @2, @3]

Twórz unikalne identyfikatory poprzez przetasowywanie alfabetu:

SqidsOptions *options = [[SqidsOptions alloc] init];
options.alphabet = @"k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt";
Sqids *sqids = [[Sqids alloc] initWithOptions:options];
NSString *id_ = [sqids encode:@[@1, @2, @3] error:nil]; // @"XRKUdQ"
NSArray<NSNumber *> *numbers = [sqids decode:id_]; // @[@1, @2, @3]

Pełna dokumentacja znajduje się na https://github.com/sqids/sqids-objective-c

Jeśli szukasz oryginalnego Hashids Objective-C, znajdziesz go tutaj: https://github.com/DrGodCarl/hashids-objc

Zastosowania

Głównym zastosowaniem Sqids jest aspekt wizualny. Jeśli chcesz używać identyfikatorów zamiast liczb w swoim projekcie, Sqids może być dobrym wyborem.

Dobre dla

  • Kodowanie kluczy głównych Jeśli używasz bazy danych relacyjnej
  • Oszczędzanie zapytań do bazy danych Poprzez kodowanie wielu obiektów
  • Tymczasowe tokeny logowania Bez wulgaryzmów i bezpieczne dla adresów URL

Nie dobre dla

  • Dane wrażliwe Nie jest to biblioteka szyfrująca
  • Identyfikatory użytkowników Może ujawnić liczbę użytkowników, jeśli ktoś pozna alfabet kodowania

Funkcje

  • 🆔 Generuj krótkie identyfikatory na podstawie liczb nieujemnych
  • Proste kodowanie i dekodowanie
  • 🫣 Automatycznie generowane identyfikatory nie zawierają popularnych wulgaryzmów
  • 🎲 Wsparcie dla niestandardowych identyfikatorów za pomocą przemieszanego alfabetu
  • 🥳 44 integracji (75% korzysta z nowego projektu)
  • 📌 Każda wersja generuje te same identyfikatory
  • 🍻 Mała biblioteka z licencją pozwalającą na swobodne wykorzystanie

Przykład / Plac zabaw