$ echo -n "apfjxkic-omyuobwd339805ak:60a06cd2ddfad610b9490d359d605407" | base64
YXBmanhraWMtb215dW9id2QzMzk4MDVhazo2MGEwNmNkMmRkZmFkNjEwYjk0OTBkMzU5ZDYwNTQw
Nw==
输出的返回值为before Nw==
。在Linux中生成base64的正确方法是什么?
5
您确定输出包含换行符,而不仅仅是换行吗?在Mac上,该命令对我来说效果很好。您正在使用什么操作系统?
—
伊恩(Ian)2007年
定义Base64的RFC 2045在76个字符(最多)之后需要换行。是什么让您认为您的榜样不 正确?
—
MSalters
@Bob:RFC对API稳定性的重视程度较低;base64工具不能不破坏脚本而只是改变其输出格式。
—
MSalters
@MSalters我不能肯定不存在较旧的版本,但是GNU base64编写于2004年,AFAICT一直声称遵循RFC3548。RFC3548包含相同的“不得添加换行符”子句。因此,即使最初的实现也是“错误的”。至少,其实现与文档不匹配。无论如何,您都询问了OP的示例为什么正确并引用了RFC。我的回答是正确地定义了base64的正确RFC。如果您的回答是“出于历史原因”,就这样吧,但是OP在这里并没有错。
—
鲍勃