Алгоритм для коротких идентификаторов - PullRequest
1 голос
/ 14 октября 2011

Я ищу алгоритм - или лучше сказать: кодирование? - для сжатия целых чисел в короткие строковые идентификаторы, такие как использование сокращителей URL: http://goo.gl/0puu

Url safe base 64 близок к этому, но, возможно, есть что-то лучшее.

Требования:

  • как можно короче
  • URL-адрес безопасен

1 Ответ

1 голос
/ 14 октября 2011

«yi_H» назвал base64 «идеальным», и после нескольких дополнительных исследований я пришел к тому же выводу, поскольку без проблем можно использовать только следующие символы в URL-адресах :

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 - _ . ~

То есть 66 символов, тогда как base64 использует только 64 символа. Еще два возможных символа не будут практичными, потому что 66 не основан на 2.

Вывод: URL-адрес base64 (предлагается как часть Apache Commons, например) идеально подходит для коротких идентификаторов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...