php专区

 首页 > php专区 > PHP基础 > 函数 > 为什么使用base64_encode编码 安全使用base64_encode

为什么使用base64_encode编码 安全使用base64_encode

分享到:
【字体:
导读:
         摘要:为什么使用base64_encode编码?设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输...

为什么使用base64_encode编码 安全使用base64_encode
为什么使用base64_encode编码?设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的主体。甚至图片也可通过字串传递,然而,当字串中出现符号 '+','/','='会给地址传递造成一些混乱,所以安全使用base64_encode就很有必要了

在最近一个项目中使用了base64_encode传递中文参数,然而我遗憾的发现有些汉字经过base64_encode后会有符号 ‘+','='','',这给传递参数造成了麻烦

翻了php.net 上面有段代码这样说

[php]
function urlsafe_b64encode($string) {
    $data = base64_encode($string);
    $data = str_replace(array('+','/','='),array('-','_',''),$data);
    return $data;
}

function urlsafe_b64decode($string) {
    $data = str_replace(array('-','_'),array('+','/'),$string);
    $mod4 = strlen($data) % 4;
    if ($mod4) {
        $data .= substr('====', $mod4);
    }
    return base64_decode($data);
}

[/php]

编码时使用urlsafe_b64encode,解码时用urlsafe_b64decode,当然这仍然是有问题的,但你用模拟静态 url_rewrite时,分隔符号用 '-',又造成了混乱,这时,只好把分割符号改为'.'或者其他的符号了.
为什么使用base64_encode编码 安全使用base64_encode
分享到:
获取文件扩展名的方法有多种php获取文件...
获取文件扩展名的方法有多种php获取文件扩展名的方法获取文件扩展名的方法有多种,但不局限于所列的几种方法,更多的自己去发掘 获取文件扩展名的方法有多种php获取文件扩展名的方法
PEAR:常用模块
PEAR:常用模块在上一篇,我们介绍了PEAR的概念,编码规则,简单使用方法,你可能对它有了一个初步的了解。这次,我们将介绍现有的PEAR库中的一些模块的功能和它的使用。一、命名约定在了解现有的pear模块之前,我们先了解一下PEAR的组织分类方式和命名的约定。PEAR中的模块的组织方式和CPAN类似,每个模块的相关文件是放在...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……