Почему в выходе base64 существует несогласованность?

Я использую основанную на java базу данных диаграммы neo4j на lubuntu 15.04.

Заголовок аутентификации neo4j HTTP использует кодировку base64 'username: password' (не включая кавычки). Используя wirehark, я вижу код base64, созданный neo4j.

Однако, если я использую ubuntu coreutils base64 для кодирования одной и той же строки, я получаю немного другую кодировку.

Оба кодировки декодируются на правильное имя пользователя: строка пароля

Пример

имя пользователя = neo4j и пароль = @N ]

Neo4j дает закодированное значение neo4j:@N как bmVvNGo6QE4=, которое декодирует neo4j:@N, как ожидалось

$ echo 'bmVvNGo6QE4=' | base64 --decode
neo4j:@N

Ubuntu coreutils base64 возвращает закодированное значение [ f9] как bmVvNGo6QE4K (который отличается в последнем символе), но все равно декодирует правильно,

$ echo 'neo4j:@N' | base64
bmVvNGo6QE4K
$ echo 'bmVvNGo6QE4K' | base64 --decode
neo4j:@N

Почему это? Что мне нужно, чтобы получить согласованное кодирование?

1
задан 1 October 2015 в 00:34

0 ответов

Другие вопросы по тегам:

Похожие вопросы: