因为某些系统中仅仅能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。

base64特别适合在http。mime协议下高速数据传输。因为它的双向加解密特性,不适合将它作为密码存储。

在PHP中,我们可以

  • 使用base64_encode()函数进行加密
  • 使用base64_decode()函数进行解密

现在介绍这两个函数的使用方法。

1. base64_encode()加密

此函数用于使用base64编码对给定数据进行编码。这个函数是 PHP 4.0 引入的。

语法

string base64_encode string $data )

    参数

    参数说明必须/可选
    data要编码的数据。必须

    返回值

    base64_encode() 函数将编码后的数据作为字符串返回。

    示例1

    <?php
    	$str"yxjc123";
    	$str1base64_encode($str);
    	echo $str1;
    ?>
    • 1
    • 2
    • 3
    • 4

    输出:

    eXhqYzEyMw==

    示例2

    <?php
    	$str 'Welcome to yxjc123';
    	echo base64_encode($str);
    ?>
    • 1
    • 2
    • 3

    输出:

    V2VsY29tZSB0byB5eGpjMTIz

    2. base64_decode()解密

    base64_decode() 函数用于解码 base64 编码的数据。这个函数是 PHP 4.0 引入的。

    语法

    string base64_decode string $data [, bool $strict FALSE ] )

      参数

      参数说明必须/可选
      data加密的字符串数据必须
      strict 默认为FALSE,如果 strict 参数设置为 TRUE,如果输入包含 base64 字母表之外的字符,base64_decode() 函数将返回 FALSE。可选

      返回值

      base64_decode() 函数返回解码后的数据。失败时返回 false。返回的数据可能是二进制的。

      示例1

      <?php
      	$str 'V2VsY29tZSB0byB5eGpjMTIz';
      	echo base64_decode($str);
      ?>
      • 1
      • 2
      • 3

      输出:

      yxjc123