La codificacion Base62 es un esquema que utiliza 26 letras minusculas (a-z), 26 letras mayusculas (A-Z) y 10 digitos (0-9), un total de 62 caracteres, para representar datos. Es el metodo mas extendido para generar los codigos cortos de las URL acortadas.
Por que Base62 es ideal para las URL cortas? Un codigo Base62 de 6 caracteres permite representar 62 elevado a 6, es decir, aproximadamente 56 800 millones de combinaciones. Con 7 caracteres se alcanzan unos 3,5 billones. Esta capacidad es mas que suficiente para que cualquier servicio de URL cortas opere durante decadas sin agotarse.
Internamente, los servicios de URL cortas suelen asignar un identificador entero unico a cada URL y convertir ese ID a Base62 para generar el codigo corto. Por ejemplo, el ID 12345 se convierte en "3d7" (3 caracteres). A medida que el ID crece, el codigo se alarga, pero hasta decenas de miles de millones de registros caben en 6 caracteres o menos.
Un esquema similar es Base64, pero este incluye los caracteres "+" y "/", que requieren codificacion adicional cuando se usan en URL. Base62 esta compuesto exclusivamente por caracteres seguros para URL, por lo que no necesita codificacion extra. Esta es la razon por la que Base62 se prefiere en los servicios de URL cortas.
La implementacion de Base62 es muy sencilla: consiste en convertir un numero decimal a base 62. Se puede programar en pocas lineas en la mayoria de los lenguajes. Sin embargo, si se convierte directamente un ID secuencial a Base62, los codigos resultantes son predecibles, lo que plantea una preocupacion de seguridad. Como contramedida, se suelen aplicar tecnicas como anadir un desplazamiento aleatorio al ID o combinarlo con una funcion hash. Los libros relacionados se pueden buscar en Amazon.