因为某些系统中仅仅能使用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";
	$str1= base64_encode($str);
	echo $str1;
?>

输出:

eXhqYzEyMw==

示例2

<?php
	$str = 'Welcome to yxjc123';
	echo base64_encode($str);
?>

输出:

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);
?>

输出:

yxjc123