自己的账单系统(https://jz.alipay168.cn) 新增了一个导出账单功能,导出后生成一个zip压缩包,需要解压密码解密,这样相对安全。
从php7.2开始就可以设置加密的密码了,之前版本只能设置解压的密码哦。
设置加密的两种方式分别是通过文件名和索引顺序对某些文件加密。
$localPath = $path . $fileName;//本地文件路径 //生成zip压缩包 $zip = new \ZipArchive(); $password = rand(100000, 999999);//随机生成一个密码 $zipFile = $path . md5($user_id) . '.zip'; $readme = $path . 'readme.txt'; $readmeContent = '请将zip包解压,解压密码请查看记账APP的系统消息,解压后打开文件,即可看到账单信息'; file_put_contents($readme, $readmeContent); if ($zip->open($zipFile, \ZipArchive::CREATE) === true) { //$zip->setPassword($password);//这是解压文件的时候用的,不是加密哦 $zip->addFile($localPath, "账单.xlsx"); $zip->addFile($readme, '解压密码.txt'); $zip->setEncryptionName('账单.xlsx', \ZipArchive::EM_AES_256,$password);//按照文件名加密 // $zip->setEncryptionIndex(0, \ZipArchive::EM_AES_256,$password);//第一个文件加密 $zip->close(); @unlink($localPath); @unlink($readme); }
这样你需要加密的文件就可以放心发送了