$ echo -n "apfjxkic-omyuobwd339805ak:60a06cd2ddfad610b9490d359d605407" | base64
YXBmanhraWMtb215dW9id2QzMzk4MDVhazo2MGEwNmNkMmRkZmFkNjEwYjk0OTBkMzU5ZDYwNTQw
Nw==
출력은 이전에 리턴 값을 갖습니다 Nw==
. Linux에서 base64를 생성하는 올바른 방법은 무엇입니까?
5
출력에 줄 바꿈이 포함되어 있고 창 줄 바꿈이 아니라고 확신합니까? 그 명령은 Mac에서 잘 작동했습니다. 어떤 OS를 사용하고 있습니까?
—
Ian
Base64를 정의한 RFC 2045는 76 자 (최대) 뒤에 줄 바꿈이 필요합니다. 당신의 모범이 올바른 방법 이 아니라고 생각하는 이유는 무엇입니까 ?
—
MSalters
@Bob : RFC는 API 안정성에 대해 약간 덜 존중합니다. base64 도구는 스크립트를 깨지 않고 출력 형식을 변경할 수 없습니다.
—
MSalters
@MSalters 나는 구버전이 존재하지 않는다고 확신 할 수 없지만, GNU base64는 2004 년에 작성되었으며 AFAICT는 항상 RFC 3548을 따르라고 주장했다. RFC 3548에는 "MUST NOT add line feeds"절이 포함되어있다. 따라서 원래 구현조차도 "잘못된"것입니다. 최소한 구현은 문서와 일치하지 않습니다. 어쨌든 OP의 예제가 왜 정확하고 RFC를 참조했는지 묻습니다. 내 응답은 실제로 base64를 분리하여 정의하는 올바른 RFC입니다. 귀하의 답변이 "역사적 이유"인 경우에는 OP가 잘못된 것은 아닙니다.
—
Bob