7z

壓縮檔案格式

计算机科学中,7z是一种可以使用多种压缩算法进行数据压缩的档案格式。该格式最初被7-Zip实现并采用,但是这种档案格式是公有的,并且7-Zip软件本身亦在GNU寬通用公共許可證 (GNU LGPL)协议下开放源代码。目前LZMA软件开发工具包的最新版本為v19.00。

7z
扩展名
.7z
互联网媒体类型
application/x-7z-compressed
统一类型标识org.7-zip.7-zip-archive
开发者伊戈爾·帕夫洛夫
首次发布1999[1]
格式类型資料壓縮
免费格式?是(GNU較寬鬆公共許可證
网站7-zip 官网

7z格式的MIME类型为application/x-7z-compressed.

特色与高性能

编辑

7z格式的主要特色有:

  • 开源模块化的组件结构(允许使用任何压缩,转换或加密算法)
  • 高压缩比率(使用不同的压缩演算法會有不同的結果)
  • 使用AES-256加密
  • 支持超大文件(最大支持到16EB
  • Unicode文件名支持
  • 支持固实压缩英语Solid compression,容許內類的檔案在用一個串流中壓縮,使類似的內容被有效的壓縮。
  • 壓縮檔檔壓縮
  • 支援多執行緒壓縮
  • 支援分割壓縮

加密

编辑

7z格式支持256位键钥AES算法加密。键钥则由用户提供的口令(密码短语)进行SHA-256hash算法得到。SHA-256执行218 (262144)次[2](这种技术称为密钥延伸),使得对口令的暴力解码更加困难。当前基于GPU的或是自制硬件限制了这种密钥延伸的有效性[3],所以选择一个强口令仍然很重要。7z格式提供了选项可以加密文件名。

压缩

编辑

该格式的开發结构允许添加标准以外的压缩算法。

现在支持以下算法:

  • LZMA - 改良和优化算法后的LZMA最新版本,使用马尔可夫链熵信息编码Patricia trie
  • LZMA2 - 經過改良後的LZMA算法,支援更多 CPU 執行緒。
  • PPMD - 基于Dmitry Shkarin之上的算法2002 PPMdH(PPMII/cPPMII)并加以优化:PPMII是1984年的PPM压缩算法英语Prediction by partial matching(局部匹配思想是开创)的进阶版本。
  • BCJ英语BCJ (algorithm) - 32位x86可执行文件转换程序,参见LZMA。对短程jump操作和调用操作的目标地址进行压缩。
  • BCJ2 - 32位x86可执行文件转换程序,参见LZMA。对jump操作,调用操作和有条件jump操作的目标地址进行单独压缩。
  • Bzip2 - 标准BWT算法。Bzip2使用(更快的)哈夫曼编码和(更强的)熵信息编码。
  • DEFLATE - 标准LZ77-based算法。

算法的实现

编辑

下列压缩软件支持7z文件格式:

参见

编辑

參考來源

编辑
  1. ^ HISTORY of the 7-Zip. [2013-07-05]. (原始内容存档于2010-04-19). 
  2. ^ 7-zip source code. [2019-05-27]. (原始内容存档于2019-03-22). 
  3. ^ Colin Percival. scrypt页面存档备份,存于互联网档案馆). As presented in "Stronger Key Derivation via Sequential Memory-Hard Functions"页面存档备份,存于互联网档案馆). presented at BSDCan'09, May 2009.

外部链接

编辑