Разбиране на различните формати за компресия, шифроване и архивиране
В термините на компютъра архивът е един файл, който съхранява в себе си различни файлове и папки. Съществуват няколко архивни формати и всеки има собствени плюсове и минуси. Някои архивни формати идват с поддръжка на компресията (което прави файла ви по-малък), докато други поддържат криптиране. Да, и предположихте, някои архивни формати поддържат както компресията, така и криптирането. Да научим повече за използваните алгоритми за компресия и шифроване и за различните архивни формати.
Алгоритъм на компресията
Алгоритъмът на компресиране е методът, използван от архива, за компресиране на файловете и намаляване на общия размер на файловете.
1. LZMA / LZMA2
Алгоритъмът на Lempel-Ziv-Markov (LZMA) е алгоритъм за компресиране на данни без загуби. LZMA използва алгоритъм за компресиране на речници, който използва сложни структури от данни за кодиране на един бит едновременно.
LZMA2 е контейнер, който съдържа както некомпресираните, така и компресираните от LZMA данни. Той поддържа компресиране и декомпресиране на данни с много нишки. Той може също така да компресира данни, които не могат да се компресират с други алгоритми за компресиране.
2. Алгоритъм за трансформиране на Burrows-Wheeler (BWT)
BWT работи, като преобразува низ от текст в ред и след това ги компресира, като замества повтарящите се символи в символи.
3. PPM
Предсказването чрез частично съвпадение (PPM) е метод за компресиране на статистически данни, който работи чрез използването на набор от предишни символи в потока от некомпресирани символи, за да предскаже следващия символ в потока.
4. Изпари
Deflate е популярен алгоритъм за компресиране на данни, който използва комбинация от LZ77 и Huffman кодиращи алгоритми за компресиране на данни (комбиниране на LZMA и PPM алгоритми, за да се постигне повече компресия). Тъй като Deflate не съдържа реализации, ограничени от патенти, той стана много популярен и широко използван, особено в Linux.
Алгоритъм за шифроване
Сега нека да разгледаме някои от популярните методи за кодиране:
1. DES
Стандартът за шифроване на данни използва частни тайни ключове за криптиране и декриптиране на данни. Тайният ключ се избира произволно от 56 до 64-битово адресно пространство.
2. AES
Advanced Encryption Standard е алгоритъм за шифроване, използван от американските агенции за осигуряване на чувствителни данни. Можете да шифровате данни с 128, 192 и 256 бита криптиране. AES използва алгоритъм за симетричен ключ, който означава, че се използва общ ключ за криптиране и декриптиране на данните.
3. Blowfish
Алгоритъмът за криптиране на Blowfish криптира архивите с 64-битов блок и променлива дължина на клавишите от 32 до 448 бита.
Забележка : Има няколко други алгоритми за кодиране, но споменатите по-горе три са най-използваните.
Архивни формати
Има различни архивни формати. По-долу ще преценим всеки архивен формат, използвайки три параметъра - дали той поддържа компресиране и криптиране, коя операционна система и софтуер са налице за неговата употреба.
1. Тор
Tape Archive (Tar) е един от най-старите архивни формати. Първоначално се използва за комбиниране и записване на данни на последователни лентови устройства, но по-късно се стандартизира като формат на компресия. Тарата се използва най-вече в Линукс и не поддържа компресиране или криптиране. Можете да го използвате и на Windows с инсталиране на допълнителен софтуер. Повечето съвременни архивиращи помощни програми поддържат този формат. Изключенията включват Disk Archiver и KGB Archiver.
2. GZ
GZ или GZip е един от най-популярните формати за компресиране, използвани в Windows и Linux. GZip използва алгоритъма за компресия на Deflate за компресиране на архивираните файлове. GZip също така поддържа множество файлови трансфери, което означава, че можете да създадете по-малки части от голям GZip файл за лесно споделяне и прехвърляне. Тъй като GZip е доста популярен, повечето съвременни архивиращи помощни програми имат поддръжка за компресиране и декомпресиране на файлове, използващи GZip формат, включително 7-Zip, BetterZip, PKZip, WinZip и WinRAR.
3. BZ / BZ2
BZ е много подобен на GZ, но използва Алгоритъм за трансформиране на Burrows-Wheelers, което води до малко по-голяма компресия и по-малък размер на файла. Въпреки че компресията е бавна, декомпресията е доста бърза. Повечето от софтуера, който поддържа GZ, също поддържат BZ.
4. Zip
Zip е може би най-известният и използван формат за архивиране. Zip използва алгоритъма Deflate и поддържа компресията без загуба. Той също така поддържа AES и DES кодиране. Повечето съвременни операционни системи са с вградена поддръжка за Zip формат, така че не се нуждаете от отделен софтуер за архивиране и архивиране на Zip файлове.
5. 7Z
7Z форматът за архивиране бе въведен с безплатна и отворена програма, наречена 7-Zip. Това е най-модерният общ формат за компресиране и архивиране, който поддържа повечето от алгоритмите за компресиране и кодиране на данни, включително тези, които сме обсъждали по-горе. 7Z форматът компресира файловете повече от всеки друг формат, но е относително по-бавен при обработката. Друго ограничение е, че софтуерът 7-Zip е достъпен само за Windows. Няма визуална поддръжка за Mac или Linux. 7Z също така поддържа многочасово архивиране.
6. RAR
RAR е патентован формат за архивиране. Въпреки че може да бъде прочетено и извлечено от други помощни програми като 7-Zip и WinZip, то може да бъде създадено само с помощта на WinRAR. RAR е най-популярният формат за архивиране на няколко части преди пускането на 7Z. Сега 7Z може да изпълнява същата задача безплатно, което RAR прави, като накара потребителите да плащат за софтуера на WinRAR. RAR поддържа криптиране AES.
Други формати за компресиране и архивиране
Ето някои от относително по-малко познатите формати:
XZ е формат за компресиране на данни без загуба на данни, който използва алгоритъм за компресия LZMA2. Може да се смята за свалена версия на 7Z.
LHA, известна преди като LHarc, се използва предимно за компресиране на инсталационни файлове и игри (най-вече използвани в Япония). Интересното е, че японската версия на Windows 7 идва с вградената поддръжка на архивите на LHA.
ACE е архивен файлов формат за компресиране на данни, който е конкурент на RAR формат в началото на 2000 г.
StuffIt беше пуснат предимно за Mac, но версиите за Windows, Linux и Solaris бяха освободени след това. Това е патентован формат за компресиране, използван от помощните програми на StuffIt.
заключение
В Linux най-често използваният формат е gz (или tar.gz), следван от bz, докато в Windows или Mac, най-често използваният формат е Zip. За съвместимост между различните платформи, Zip форматът е този, който трябва да се използва. Ако искате функции като сигурност, висока компресия и архивиране на няколко части, отидете за 7Z формат. RAR е подобна на 7Z, с изключение на това, че идва с ценова марка. Избягвайте колкото е възможно повече.
Кой файлов формат и полезност използвате за компресиране?
Кредит на изображението: Пролет, M-94 Cipher Device Replica