7z
| 7z | |
|---|---|
| Extensão de arquivo |
.7z |
| Tipo de mídia da Internet |
application/x-7z-compressed |
| Desenvolvido por | Igor Pavlov[1] |
| Lançamento inicial | 30 de agosto de 2001[2] |
| Tipo de formato | compressão de dados |
| Compressão | sem perda |
| Formato aberto? | Sim |
| Formato livre? | Sim |
| Website | www |
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
- ↑ 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
- 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
- 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
- ↑ «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
- ↑ «.7z format specification». py7zr documentation. Consultado em 17 de janeiro de 2026. Cópia arquivada em 6 de junho de 2026
- ↑ «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
- ↑ «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]- «Descrição geral do formato 7z» (em inglês)
- «Programa de compressão 7-Zip para Microsoft Windows» (em inglês)
- «Programa de compressão 7-Zip para variantes do sistema operacional UNIX (Linux, Solaris, OpenBSD, FreeBSD, Cygwin, etc.), MacOS X e BeOS» (em inglês)
- «7zX - programa similar ao 7-Zip para Mac OS X» (em inglês)