2017-08-01 39 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= 
相關問題