php base64_encode没有=符号

时间:2011-09-07 11:03:40

标签: php base64

我正在使用base64_encode函数来散列字符串。字符串必须是a-zA-Z0-9,有时base64_encode在结尾输出=符号(有时两次)。

更改base64_encode函数(覆盖?)以省略=符号的最有效方法是什么?

2 个答案:

答案 0 :(得分:5)

如果您想稍后解码该值,那么最后可能的= 必需。此外,字符集a-zA-Z0-9只有62个值,因此base- 64 编码值永远不会适合它。

更新:如果您需要哈希字符串,为什么不使用哈希函数? md5应该是一个很好的解决方案,除非应用程序是安全敏感的,在这种情况下应该使用更强的哈希值(sha1或更好)。

答案 1 :(得分:1)

正如乔恩所说,你需要=稍后对其进行解码,但是根据你所说的你不需要这样做,在这种情况下,你最好使用md5,这会给你一个32个字符的AF / 0-9字符串。