我正在使用 base64 对字符串进行编码。所以目前它可以有“/+=”,但这是一个问题,因为例如我正在上传一个文件,该文件使用 base64_encode 对文件名的一部分进行编码,并且内部可能有一个“/”并破坏了进程。所以我搜索了一下,发现这个函数而不是使用 base64_encode
function base64_url_encode($input)
{
return strtr(base64_encode($input), '+/=', '-_,');
}
function base64_url_decode($input)
{
return base64_decode(strtr($input, '-_,', '+/='));
}
我对此有两个问题:
- 编码函数将“+”替换为“-”,但“-”仍为“-”。所以解码函数会将“-”替换为“+”。但也可能是它应该保持“-”。那么这个函数有效吗?对我来说,这听起来像是一个有性格问题的功能。
- 我正在使用我的私人加密功能来加密密码。此函数使用 base64_encode。那么使用上面的函数会不会有问题呢?如果加密密码当前包含“/”,会出现问题吗?
如果这个功能不好,还有什么替代方法?
很抱歉问这个问题,但我真的不会问这对我来说是否微不足道