设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的内容就是通过base64转码后传输的。Base64-encoded后, 数据要比原始数据多占用 33% 左右的空间。
利用base64加密文件:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
|
//写文件路径
$file_url
=
'upload/iampdf.pdf'
;
$file_encoded
=
'encoded/iampdf.pdf'
;
//获取文件数据
$data
=
file_get_contents
(
$file_url
);
//转码加密
$data_encode
=
base64_encode
(
$data
);
//保存加密后的文件
file_put_contents
(
$data_encode
,
$file_encoded
);
|
解密base64加密后的文件:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
$file_url
=
'upload/iampdf.pdf'
;
$file_encoded
=
'encoded/iampdf.pdf'
;
//读取文件数据
$data_encode
=
file_get_contents
(
$file_encoded
);
//解密
$data
=
base64_decode
(
$data
);
//保存解密后的文件
file_put_contents
(
$data
,
$file_url
);
|
其实上面的操作还算不上加密,只要懂解码分分钟可以获取原文件。所以,有兴趣的可以再对转码后的文件进行字符串位移、转换等操作,那样就做到真正的加密了。