为什么base64 / openssl使用填充字符'K'而不是'='

时间:2017-08-01 20:03:49

标签: base64

我注意到php base64_encode使用'='作为填充字符。根据{{​​3}},不同的类型使用'='或none。但是,CLI base64命令以及openssl enc -base64使用“K”作为填充。我正在寻找有关他们使用的原因和实施方式的信息。

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

1 个答案:

答案 0 :(得分:6)

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

echo hello | openssl enc -base64 # aGVsbG8K
echo -n hello | openssl enc -base64 # aGVsbG8=