php base64_编码不带=符号
我正在使用base64_encode函数来散列字符串。字符串必须是a-zA-Z0-9,有时base64_encode在末尾输出=符号(有时两次)php base64_编码不带=符号,php,base64,Php,Base64,我正在使用base64_encode函数来散列字符串。字符串必须是a-zA-Z0-9,有时base64_encode在末尾输出=符号(有时两次) 更改base64_encode函数(覆盖?)以省略=符号的最有效方法是什么?如果以后要解码该值,则结尾可能的=是必需的。此外,字符集a-zA-Z0-9只有62个值,因此基本编码值永远无法放入其中 更新:如果需要散列字符串,为什么不使用散列函数md5应该是一个很好的解决方案,除非应用程序是安全敏感的,在这种情况下,应该使用更强的散列(sha1或更好)。如
更改base64_encode函数(覆盖?)以省略=符号的最有效方法是什么?如果以后要解码该值,则结尾可能的
=
是必需的。此外,字符集a-zA-Z0-9
只有62个值,因此基本编码值永远无法放入其中
更新:如果需要散列字符串,为什么不使用散列函数
md5
应该是一个很好的解决方案,除非应用程序是安全敏感的,在这种情况下,应该使用更强的散列(sha1
或更好)。如果以后要解码该值,则可能需要结尾处的=
s。此外,字符集a-zA-Z0-9
只有62个值,因此基本编码值永远无法放入其中
更新:如果需要散列字符串,为什么不使用散列函数
md5
应该是一个很好的解决方案,除非应用程序是安全敏感的,在这种情况下,应该使用更强的散列(sha1
或更好)。正如Jon所说,您需要=
稍后对其进行解码,但根据您所说的,您不需要这样做,在这种情况下,您最好使用md5
,这将为您提供一个32个字符的a-F/0-9字符串。正如Jon所说,您需要=
稍后对其进行解码,但根据您所说的,您不需要这样做,在这种情况下,您最好改用md5
,这将为您提供一个32个字符的a-F/0-9字符串。此外:我的程序不需要将字符串解码回原始格式。您为什么要对不想再次解码的内容进行编码?也许哈希函数(如md5
或sha1
)更适合这里。那么,也许您需要一些哈希函数来代替?此外:我的程序不需要将字符串解码回原始格式为什么您要base64
-对不想再次解码的内容进行编码?也许一个散列函数(比如md5
或sha1
)在这里可能更合适。那么也许你需要一些散列函数来代替?我只是在一个注释中添加了这个。我知道有人会指出:)@Tom:你还需要解释另外两个字符(我相信使用了/
和+
)。如果要破坏其输出,为什么要使用base64_encode
?也许其他工具更适合这项任务?你到底想做什么?@Tom:然后使用散列函数:)我刚刚在评论中加了这个。我知道有人会指出:)@Tom:你还需要解释另外两个字符(我相信使用了/
和+
)。如果要破坏其输出,为什么要使用base64_encode
?也许其他工具更适合这项任务?你到底想做什么?@Tom:那就用散列函数:)