消息摘要结尾处的“=”

时间:2012-05-11 06:08:14

标签: java base64 sha1

为什么在sha1消息摘要的末尾有一个"="符号?(在base64编码之后)
即使在base64结束编码签名(rsa)的末尾也会出现"="符号。为什么base 64包含它?

2 个答案:

答案 0 :(得分:2)

它只是base64的一部分 - 与摘要无关。为填充添加“=”,因此整体结果总是四个字符的倍数,但读者可以判断四个字符“块”何时只表示一个或两个字节(而不是正常的三个)。

有关详细信息,请参阅Wikipedia。 (请注意,虽然它只是在某些情况下需要填充,但我认为我从未见过包含填充的base64编码器,至少在默认情况下是这样。它更多通常包括填充而不是不这样做。)

答案 1 :(得分:1)

'=='序列表示最后一个组只包含1个字节,'='表示它包含2个字节。