Ir para o conteúdo

7z

Origem: Wikipédia, a enciclopédia livre.
7z
Extensão de arquivo
.7z
Tipo de mídia da Internet
application/x-7z-compressed
Desenvolvido porIgor Pavlov[1]
Lançamento inicial30 de agosto de 2001; há 25 anos (2001-08-30)[2]
Tipo de formatocompressão de dados
Compressãosem perda
Formato aberto?Sim
Formato livre?Sim
Websitewww.7-zip.org/7z.html

No contexto da informática, 7z é um formato de arquivo que permite compressão sem perda de dados utilizando vários algoritmos. O formato foi inicialmente implementado pelo programa 7-Zip; a especificação do formato é pública, e a sua implementação pela 7-Zip é disponibilizada sob licença GNU LGPL. O tipo MIME associado é application/x-7z-compressed.[2] O formato também suporta o cálculo opcional de checksums de integridade nos algoritmos CRC-32, CRC-64, SHA-1, SHA-256, BLAKE2sp e XXH64.[2]

História

[editar | editar código]

O formato 7z foi introduzido em 30 de agosto de 2001, na versão 2.30 Beta 2 do 7-Zip, marcando também a estreia do algoritmo de compressão LZMA, desenvolvido pelo próprio Igor Pavlov.[2] Em 2019, na versão 19.00, a força da criptografia do formato foi reforçada: o tamanho do vetor de inicialização aleatório (IV) usado no AES-256 passou de 64 para 128 bits, e o gerador de números pseudoaleatórios foi aprimorado.[2]

Características

[editar | editar código]
  • Código aberto e arquitetura modular, o que permite que se implemente qualquer tipo de compressão, conversão e criptografia de dados.[3]
  • Alta taxa de compressão, dependendo dos tipos de arquivos comprimidos e método de compressão usado.[3]
  • Criptografia no padrão AES-256[3]
  • Suporta arquivos até 16 exabytes (17.592.186.044.416 megabytes)[3]
  • Nomes de arquivos em Unicode[3]
  • Suporta arquivos de compressão sólida (solid compression)[3]
  • Compressão de cabeçalhos dos arquivos (archive headers)[3]

Desde 2024, o próprio 7-Zip oficial passou a suportar a descompressão de arquivos que usam o método Zstandard (ZSTD) dentro de contêineres ZIP, SquashFS e RPM, além do algoritmo de hash rápido XXH64 usado pelo ZSTD.[2] Forks da comunidade, como o 7-Zip ZS, estendem ainda mais o formato 7z, permitindo compressão (não só descompressão) com Zstandard, Brotli, Fast-LZMA2, Lizard e LZ4/LZ5 como métodos adicionais dentro do contêiner .7z.[4]

Criptografia

[editar | editar código]

O formato 7z suporta criptografia com o algoritmo AES com uma chave de 256-bit. A chave é gerada por uma frase-chave (passphrase) fornecida pelo usuário através de um algoritmo de hashing baseado no SHA-256 (com um elevado número de iterações, tornando mais difícil a descoberta da frase-chave por força bruta).[3]

Métodos de compressão

[editar | editar código]
  • LZMA - Versão optimizada do algoritmo LZ77.
  • PPMD - compressão PPMdH (PPMII/cPPMII) de Dmitry Shkarin, com pequenas alterações. PPMII é uma versão melhorada do algoritmo de compressão PPM de 1984.
  • BCJ - Conversor para executáveis x86 de 32-bits, ver LZMA.
  • BCJ2 - Conversor para executáveis x86 de 32-bits, ver LZMA.
  • Bzip2 - Padrão do algoritmo BWT (Burrows-Wheeler Transform)
  • DEFLATE - Baseado no padrão LZ77.[3]

Estrutura do formato

[editar | editar código]

Um arquivo 7z começa com um cabeçalho de assinatura de tamanho fixo (32 bytes), contendo a assinatura do formato, o número da versão e um CRC-32 de verificação, seguido pelo deslocamento (offset), tamanho e CRC do cabeçalho principal (header), onde ficam armazenados os metadados do arquivo. O corpo do arquivo é formado pelos fluxos de dados compactados (packed streams), organizados em blocos chamados folders, enquanto o próprio cabeçalho de metadados também pode ser compactado.[5]

Limitações

[editar | editar código]

Diferentemente do formato RAR, o 7z não possui um mecanismo interno de registro de recuperação (recovery record) que permita reparar um arquivo corrompido; a própria equipe de desenvolvimento do 7-Zip recomenda o uso de uma ferramenta externa como o Parchive para esse fim.[6] Em caso de dano ao arquivo, a recuperação manual dos dados (via edição hexadecimal do cabeçalho ou divisão em volumes) é documentada oficialmente, mas não é automática.[7]

Programas compatíveis

[editar | editar código]

Programas de compressão que suportam atualmente o formato 7z:

Ver também

[editar | editar código]

Referências

  1. ↑ Nelson, Mark. «A Few Questions to Igor Pavlov». Dr. Dobb's. Consultado em 17 de janeiro de 2026. Cópia arquivada em 21 de julho de 2025
  2. 1 2 3 4 5 6 «7-zip - History». 7zip.org. Consultado em 17 de janeiro de 2026. Cópia arquivada em 3 de julho de 2026
  3. 1 2 3 4 5 6 7 8 9 «7z Format». 7-zip.org. Consultado em 17 de janeiro de 2026. Cópia arquivada em 28 de junho de 2026
  4. ↑ «7-Zip-zstd: 7-Zip with support for Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard». GitHub. Consultado em 17 de janeiro de 2026. Cópia arquivada em 24 de junho de 2026
  5. ↑ «.7z format specification». py7zr documentation. Consultado em 17 de janeiro de 2026. Cópia arquivada em 6 de junho de 2026
  6. ↑ «Data error recovery of .7z archives (vs .rar)». 7-Zip Discussion, SourceForge. Consultado em 17 de janeiro de 2026. Cópia arquivada em 20 de maio de 2022
  7. ↑ «How to recover corrupted 7z archive». 7-zip.org. Consultado em 17 de janeiro de 2026. Cópia arquivada em 4 de julho de 2026

Ligações externas

[editar | editar código]