Cita:
Empezado por agustibaldo
El problema es que estuve buscando alguna librería o función de hash/encoding y no pude encontrar ninguna. Podrías recomendarme alguna?
[roman], estoy probando justo eso, cuando lo tenga resuelto les cuento.
Muchas gracias.
|
Con lo que dice roman, ni falta hace emplear una biblioteca que te lo haga. No es algo taan complicado en diseñar un algoritmo que haga esto:
AAAA, AAAB, AAAC ... AAAZ, AAA0, AAA1, ... AAA9, AABA, AABB, ... AABZ, AAB0, ... AAB9, ... ZZZZ, ... 9999
Y disponer en una tabla algo como:
ID - CadenaCorta - CadenaLarga
1 - AAAA - etc
2 - AAAB - etc
...
Y aquí es donde entra lo que yo dije: dependiendo de la longitud que se establezca a la cadena, y el juego de carácteres definido, tendrás la cantidad máxima de registros que puede soportar. Que para el caso de 27 letras más 10 números y una cadena de longitud de 10 será posible tener 37^10 = 4808584372417849 registros. Esto puede ser mucho o poco según el volumen de datos.
¡Y nota en como el tema de la cadena corta en realidad no hace más que hacer un intermediario más! Ya existe una relación 1-1 en un ID autonumérico y la correspondiente cadena larga. Proceder a generar una cadena corta que "identifique" o que haga de alias para cada cadena larga no deja de ser otra relación 1-1 ya existente, ya que actúa como una clave artificial más.
Saludos,