Хранилище паролей Docker в .docker / config.json - PullRequest
1 голос
/ 09 ноября 2019

В .docker/config.json Я вижу, что мой пароль хранится как QA==". Мой пароль заканчивается на @.

{
    "auths": {
        "registry.nmlv.nml.com": {
            "auth": "QA==",
            "email": "foo@bar.com"
        }
    },
    "HttpHeaders": {
        "User-Agent": "Docker-Client/19.03.4 (darwin)"
    }
}

Свойство auth на самом деле является base64 из username:password, однако мой пароль base64 заканчивается на QAo=. Мне интересно, как докер меняет пароль?

Я использовал base64 <<< @ команда

1 Ответ

1 голос
/ 09 ноября 2019

Когда вы вручную кодируете строки base64 в командной строке, вы должны быть осторожны, чтобы не включать перевод строки. echo -n полезно для этого.

$ echo -n '@' | base64
QA==

Это соответствует тому, что находится в вашем файле .docker/config.json. Если я расшифрую вашу другую строку

$ echo -n 'QAo=' | base64 -D | od -t x1
0000000    40  0a

, она будет содержать два байта: ASCII 0x40 (@) и 0x0a (новая строка).

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