Sqids es una biblioteca de código abierto que te permite generar identificadores cortos únicos a partir de números. Estos IDs son seguros para URL, pueden codificar varios números y no contienen palabras malsonantes comunes. Leer más .
Así es cómo lucen:
Ejemplo rápido de codificación y decodificación:
Sqids *sqids = [[Sqids alloc] init];
NSString *id_ = [sqids encode:@[@1, @2, @3] error:nil]; // @"86Rf07"
NSArray<NSNumber *> *numbers = [sqids decode:id_]; // @[@1, @2, @3]
Si los IDs son muy cortos, puedes rellenarlos hasta cierta longitud:
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]
Crea IDs únicos al barajar el alfabeto:
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]
La documentación completa está en https://github.com/sqids/sqids-objective-c
Si estás buscando el Hashids Objective-C original, puedes encontrarlo aquí: https://github.com/DrGodCarl/hashids-objc
El uso principal de Sqids es puramente visual. Si prefieres usar IDs en lugar de números en tu proyecto, Sqids podría ser una buena elección.