src/lzma/Methods.txt
changeset 972 254427fc42ab
parent 917 d299a58a274f
equal deleted inserted replaced
969:0bc902336e00 972:254427fc42ab
       
     1 7-Zip method IDs (4.56)
       
     2 -----------------------
       
     3 
       
     4 Each compression or crypto method in 7z has unique binary value (ID).
       
     5 The length of ID in bytes is arbitrary but it can not exceed 63 bits (8 bytes).
       
     6 
       
     7 If you want to add some new ID, you have two ways:
       
     8 1) Write request for allocating IDs to 7-zip developers.
       
     9 2) Generate 8-bytes ID:
       
    10 
       
    11     7F ZZ ZZ ZZ ZZ ZZ MM MM 
       
    12 
       
    13     7F              - Prefix for random IDs (1 byte)
       
    14     ZZ ZZ ZZ ZZ ZZ  - Developer ID (5 bytes). Use real random bytes. 
       
    15                       
       
    16     MM MM           - Method ID (2 bytes)
       
    17 
       
    18     You can notify 7-Zip developers about your Developer ID / Method ID.
       
    19 
       
    20     Note: Use new ID only if old codec can not decode data encoded with new version.
       
    21 
       
    22 
       
    23 List of defined IDs
       
    24 -------------------
       
    25       
       
    26 00 - Copy
       
    27 01 - Reserved
       
    28 02 - Common
       
    29    03 Swap
       
    30       - 2 Swap2
       
    31       - 4 Swap4
       
    32    04 Delta (subject to change)
       
    33 
       
    34 03 - 7z
       
    35    01 - LZMA
       
    36       01 - Version
       
    37   
       
    38    03 - Branch
       
    39       01 - x86
       
    40          03  - BCJ
       
    41          1B  - BCJ2
       
    42       02 - PPC
       
    43          05 - BC_PPC_B (Big Endian)
       
    44       03 - Alpha
       
    45          01 - BC_Alpha
       
    46       04 - IA64
       
    47          01 - BC_IA64
       
    48       05 - ARM
       
    49          01 - BC_ARM
       
    50       06 - M68
       
    51          05 - BC_M68_B (Big Endian)
       
    52       07 - ARM Thumb
       
    53          01 - BC_ARMThumb
       
    54       08 - SPARC
       
    55          05 - BC_SPARC
       
    56 
       
    57    04 - PPMD
       
    58       01 - Version
       
    59 
       
    60    7F -
       
    61       01 - experimental methods.
       
    62 
       
    63    80 - reserved for independent developers
       
    64 
       
    65    E0 - Random IDs
       
    66 
       
    67 04 - Misc
       
    68    00 - Reserved
       
    69    01 - Zip
       
    70       00 - Copy (not used). Use {00} instead
       
    71       01 - Shrink
       
    72       06 - Implode
       
    73       08 - Deflate
       
    74       09 - Deflate64
       
    75       12 - BZip2 (not used). Use {04 02 02} instead
       
    76    02 - BZip
       
    77       02 - BZip2
       
    78    03 - Rar
       
    79       01 - Rar15
       
    80       02 - Rar20
       
    81       03 - Rar29
       
    82    04 - Arj
       
    83       01 - Arj (1,2,3)
       
    84       02 - Arj 4
       
    85    05 - Z
       
    86    06 - Lzh
       
    87    07 - Reserved for 7z
       
    88    08 - Cab
       
    89    09 - NSIS
       
    90       01 - DeflateNSIS
       
    91       02 - BZip2NSIS
       
    92 
       
    93 
       
    94 06 - Crypto 
       
    95    00 - 
       
    96    01 - AES
       
    97       0x - AES-128
       
    98       4x - AES-192
       
    99       8x - AES-256
       
   100       Cx - AES
       
   101 
       
   102       x0 - ECB
       
   103       x1 - CBC
       
   104       x2 - CFB
       
   105       x3 - OFB
       
   106 
       
   107    07 - Reserved
       
   108    0F - Reserved
       
   109 
       
   110    F0 - Misc Ciphers (Real Ciphers without hashing algo)
       
   111 
       
   112    F1 - Misc Ciphers (Combine)
       
   113       01 - Zip
       
   114          01 - Main Zip crypto algo
       
   115       03 - RAR
       
   116          02 - 
       
   117          03 - Rar29 AES-128 + (modified SHA-1)
       
   118       07 - 7z
       
   119          01 - AES-256 + SHA-256
       
   120 
       
   121 07 - Hash (subject to change)
       
   122    00 - 
       
   123    01 - CRC
       
   124    02 - SHA-1
       
   125    03 - SHA-256
       
   126    04 - SHA-384
       
   127    05 - SHA-512
       
   128 
       
   129    F0 - Misc Hash
       
   130 
       
   131    F1 - Misc
       
   132       03 - RAR
       
   133          03 - Rar29 Password Hashing (modified SHA1)
       
   134       07 - 7z 
       
   135          01 - SHA-256 Password Hashing
       
   136     
       
   137    
       
   138 
       
   139 
       
   140 ---
       
   141 End of document