我正在使用base64_encode函数来散列字符串。字符串必须是a-zA-Z0-9,有时base64_encode在结尾输出=符号(有时两次)。
更改base64_encode函数(覆盖?)以省略=符号的最有效方法是什么?
答案 0 :(得分:5)
如果您想稍后解码该值,那么最后可能的=
必需。此外,字符集a-zA-Z0-9
只有62个值,因此base- 64 编码值永远不会适合它。
更新:如果您需要哈希字符串,为什么不使用哈希函数? md5
应该是一个很好的解决方案,除非应用程序是安全敏感的,在这种情况下应该使用更强的哈希值(sha1
或更好)。
答案 1 :(得分:1)
正如乔恩所说,你需要=
稍后对其进行解码,但是根据你所说的你不需要这样做,在这种情况下,你最好使用md5
,这会给你一个32个字符的AF / 0-9字符串。