7z是一種壓縮存檔文件格式,支持多種不同的數據壓縮、加密和預處理算法。7z 格式最初是由7-Zip存檔器實現的。7-Zip 程序根據GNU 寬通用公共許可證的條款公開提供,LZMA SDK 4.62 于 2008 年 12 月進入公共領域。
自 2015 年以來,官方的、非正式的 7z 文件格式規範随 7-Zip 的源代碼一起分發。可以在源代碼分發的“doc”子目錄中以純文本格式找到該規範。還有其他第三方嘗試根據已發布的代碼編寫更具體的文檔。
加密
7z 格式支持使用 256 位密鑰的AES算法進行加密。密鑰是使用基于SHA-256散列函數的算法從用戶提供的密碼短語生成的。SHA-256 執行 2 18 (262144) 次,這會在壓縮或提取開始之前在慢速 PC 上造成顯着延遲。這種技術稱為密鑰拉伸,用于使密碼短語的暴力搜索更加困難。當前基于 GPU 的自定義硬件攻擊限制了這種特殊的密鑰拉伸方法的有效性,所以選擇一個強密碼仍然很重要。7z 格式提供了加密 7z 存檔文件名的選項。
限制
7z 格式不存儲文件系統權限(例如UNIX所有者/組權限或NTFS ACL),因此可能不适合備份/歸檔目的。類 UNIX 系統上的一種解決方法是在使用 7z 壓縮之前将數據轉換為tar 比特流。但值得注意的是,GNU tar(在許多 UNIX 環境中很常見)也可以用 LZMA2 算法(“ xz") 原生,不使用 7z,使用“-J”開關。生成的文件擴展名是“.tar.xz”或“.txz”而不是“.tar.7z”。已采用這種壓縮方法有許多用于打包的發行版,例如 Arch、Debian (deb)、Fedora (rpm) 和 Slackware。(舊的“lzma”格式效率較低。)另一方面,重要的是要注意,tar不保存文件系統編碼,這意味着如果在另一台計算機上解壓縮,tar 壓縮文件名可能變得不可讀。
7z 格式不允許提取一些“損壞的文件”——也就是說(例如)如果一個人有一系列 7z 文件的第一段,7z 不能給出存檔中文件的開頭——它必須等到所有段已下載。7z 格式也缺乏恢複記錄,因此很容易受到數據退化的影響,除非與外部解決方案(如parchives)或具有強大糾錯功能的文件系統一起使用。相比之下,zip文件也缺少恢複功能,而 rar 則有。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!