因为某些系统中仅仅能使用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