Мы используем безопасную вариацию кодировки base64 для файловой системы / URL, такую, что:
"=" replaced with ""
"+" replaced with "-"
"/" replaced with "_"
Сейчас мы используем хранилище BLOB-объектов Azure, которое не позволяет использовать «_» в именах контейнеров.
Мы кодируем base64 Guid . Если я должен был заменить подчеркивание, скажем, «0», могу ли я столкнуться с риском?
Обновление
Не уверен, почему понизить голос. Но чтобы уточнить.
Почему бы просто не использовать Guid?
- Guid - это идентификатор объекта в моем приложении. Поскольку пути являются общедоступными, мне не очень нравится показывать Id, поэтому я и кодирую его.
Я хочу более короткие и дружелюбные пути. Вопреки одному из комментариев ниже, кодировка base 64 НЕ длиннее:
Guid: 5b263cdd-2bc2-485d-83d4-81b96930dc5a
Кодировка Base64: 3TwmW8IrXUiD1IG5aTDcWg == (еще короче после удаления ==)
(Другое) Обновление
Кажется, есть некоторая путаница в том, чего я пытаюсь достичь (извините за это). Вот короткая версия.
- У меня есть Guid, который представляет сущность в моем приложении.
- Мне нужно создать общедоступный каталог для сущности (через
URL).
- Я не хочу использовать Guid в качестве имени каталога по причинам
выше.
- Я ранее спрашивал на SO о том, как я могу создать более дружелюбный
смотря URL который гарантировал уникальность и не выставлял
оригинальный гид. Предложение было в кодировке Base64.
- До недавнего времени это работало нормально, когда нам нужно было использовать BLOB-объект Azure.
хранилище, которое не допускает подчеркивания "_" в своем каталоге
(Контейнер) имена.
Вот где я нахожусь.