| 7z | |
|---|---|
| Extensão de arquivo |
.7z |
| Tipo de mídia da Internet |
application/x-7z-compressed |
| Desenvolvido por | Igor Pavlov |
| Lançamento inicial | 30 de agosto de 2001 |
| 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. 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.
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.
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.
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).
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.
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 de compressão que suportam atualmente o formato 7z: