台灣最大程式設計社群網站
線上人數
1177
 
會員總數:246146
討論主題:189743
歡迎您免費加入會員
討論區列表 >> PHP >> ZipArchive加密壓縮/解壓縮問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
ZipArchive加密壓縮/解壓縮問題
價值 : 500 QP  點閱數:1842 回應數:2
樓主

迷路
高級專家
11226 137
7655 1746
發送站內信

捐贈 VP 給 迷路
使用ZipArchive進行加密壓縮
$zip->setEncryptionName($path);
這樣寫的話會出現錯誤紀錄
PHP Warning: ZipArchive::setEncryptionName() expects at least 2 parameters, 1 given in
少給必要參數,但是壓縮依然會完成
並且可以順利解壓縮
但是如果改成
$zip->setEncryptionName($path, ZipArchive::EM_AES_256);
這樣不會有錯誤紀錄
但是另一邊用ZipArchive進行解壓縮時
只能解出目錄,裡面加密的檔案會解不出來
由於主機設定關係
我這邊無法讓解壓縮網站的ZipArchive升到能壓縮的版本
因此猜測是舊版本中沒有AES_256這個加密
想請問有解決方式嗎?或是有其他參數可使用嗎?網路上只找的到AES_256而已

搜尋相關Tags的文章: [ ZipArchive加密 ] , [ AES_256 ] ,
本篇文章發表於2020-03-19 12:03
1樓
作者回應

迷路
捐贈 VP 給 迷路 檢舉此回應
目前查到的資訊是 EM_AES_256 之類的加密模式只有新版本才有
舊版本雖然有setPassword,但是實際上卻沒有加密模式的資料
所以不單無法加密壓縮,也無法解壓縮有加密的壓縮檔
如果我的理解無誤,這可真是讓人無言
本篇文章回覆於2020-03-23 18:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

o小高o
檢舉此回應
把ZipArchive::EM_AES_256 改成 \ZipArchive::EM_AES_256

或是$zip->setEncryptionName(basename($file), \ZipArchive::EM_AES_256);

試試看?
本篇文章回覆於2020-03-25 11:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.