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á 24 anos[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]