Только что проверил, и я подтверждаю ваши выводы:
Терминал MAC / командная строка:
$ echo 'admin:passw0rd' | openssl base64
YWRtaW46cGFzc3cwcmQK
$ echo 'admin:passw0rd' | base64
YWRtaW46cGFzc3cwcmQK
Консоль
window.btoa("admin:passw0rd")
"YWRtaW46cGFzc3cwcmQ="
НО, когда вы меняете командуto:
$ echo -n 'admin:passw0rd' | base64
YWRtaW46cGFzc3cwcmQ=
Это дает тот же результат.По умолчанию echo добавляет символ новой строки в строку, поэтому вы передаете его в команду base64.При добавлении -n это не будет сделано.Из справочных страниц:
-n Do not print the trailing newline character. This may also be achieved by appending `\c' to the end of the string,
as is done by iBCS2 compatible systems. Note that this option as well as the effect of `\c' are implementation-
defined in IEEE Std 1003.1-2001 (``POSIX.1'') as amended by Cor. 1-2002. Applications aiming for maximum portabil-
ity are strongly encouraged to use printf(1) to suppress the newline character.