2017-08-01 112 views
2

我注意到php base64_encode使用'='作为填充字符。根据Wikipedia不同类型使用'='或无。但CLI base64命令以及openssl enc -base64使用'K'作为填充。我正在寻找他们使用的原因和实施的信息。为什么base64/openssl使用填充字符'K'而不是'='

echo base64_encode('hello'); // aGVsbG8= 
echo hello | base64 -i - // aGVsbG8K 
openssl enc -base64 <<< hello // aGVsbG8K 
+0

你有没有发现任何关于此? –

+0

@DmytroI。我还没有。我发现了大量关于openssl填充方案的信息,但没有回答这个问题。即使是来自openssl的例子,我发现它可以使用'='。难住了。 – cyberwombat

回答

2

这不是填充字符。它是由shell命令添加的换行符。

echo hello | openssl enc -base64 # aGVsbG8K 
echo -n hello | openssl enc -base64 # aGVsbG8= 
相关问题