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. 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.
História 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. 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.
Características Código aberto e arquitetura modular, o que permite que se implemente qualquer tipo de compressão, conversão e criptografia de dados. Alta taxa de compressão, dependendo dos tipos de arquivos comprimidos e método de compressão usado. Criptografia no padrão AES-256 Suporta arquivos até 16 exabytes (17.592.186.044.416 megabytes) Nomes de arquivos em Unicode Suporta arquivos de compressão sólida (solid compression) Compressão de cabeçalhos dos arquivos (archive headers)
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. 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.
Criptografia 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).
Métodos de compressão 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.
Estrutura do formato 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.
Limitações 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. 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.
Programas compatíveis Programas de compressão que suportam atualmente o formato 7z: 7-Zip e p7zip B1 Free Archiver EZ 7z PeaZip PowerArchiver QuickZip TUGZip WinRAR WinZip ZipGenius
Ver também 7-zip (programa de compressão) Lista de algoritmos - Algoritmos de Compressão Taxa de compressão de dados
Ligações externas
Categoria:Formatos de empacotamento de arquivos Categoria:Extensões de nome de arquivo