来自Node和openssl库的Base64编码产生不同的输出
为什么以下产生不同的输出?
- OpenSSL命令行
回声克里斯| openssl base64 // Q2hyaXMK
- Node.js的
new Buffer('Chris')。toString('base64')// Q2hyaXM =
我正在尝试使用Passport-http库进行基本身份validation,并且它似乎期望#1格式的编码数据。 这对我来说是一个问题,因为我所有的testing都依靠节点来生成编码数据(摩卡,超级)。 任何帮助是极大的赞赏。
不同之处在于, echo命令在它应该输出的文本末尾附加一个换行字符。
换句话说, Chris
的Base64编码实际上是Q2hyaXM=
, 但是 Chris\n
(其中\n
不是一个字面值\
后跟一个字母n
但是只是一个linefeed
字符)的Q2hyaXMK
的确是Q2hyaXMK
。 您可能想要比较:
new Buffer('Chris\n')
为了比较你的命令的结果;)