Hiểu các định dạng nén, mã hóa và lưu trữ khác nhau
Trong thuật ngữ máy tính, lưu trữ là một tệp duy nhất lưu trữ trong các tệp và thư mục khác nhau. Có một số định dạng lưu trữ có sẵn và mỗi định dạng đi kèm với ưu và khuyết điểm riêng của nó. Một số định dạng lưu trữ đi kèm với hỗ trợ nén (làm cho kích thước tệp của bạn nhỏ hơn) trong khi các định dạng khác hỗ trợ mã hóa. Có, và bạn đoán nó, một số định dạng lưu trữ hỗ trợ cả nén và mã hóa. Hãy tìm hiểu thêm về các thuật toán nén và mã hóa được sử dụng và các định dạng lưu trữ khác nhau.
Thuật toán nén
Thuật toán nén là phương thức được lưu trữ sử dụng để nén các tệp và làm cho kích thước tệp tổng thể nhỏ hơn.
1. LZMA / LZMA2
Thuật toán chuỗi Lempel – Ziv – Markov (LZMA) là thuật toán nén dữ liệu không mất dữ liệu. LZMA sử dụng thuật toán nén từ điển, sử dụng cấu trúc dữ liệu phức tạp để mã hóa từng bit một.
LZMA2 là một container chứa cả dữ liệu nén và nén LZMA. Nó hỗ trợ nén nhiều luồng và giải nén dữ liệu. Nó cũng có thể nén dữ liệu không nén với các thuật toán nén khác.
2. Thuật toán biến đổi Burrows-Wheeler (BWT)
BWT hoạt động bằng cách hoán đổi một chuỗi văn bản theo thứ tự và sau đó nén chúng bằng cách thay thế các ký tự lặp lại thành các ký hiệu.
3. PPM
Dự đoán bằng cách đối sánh từng phần (PPM) là phương pháp nén dữ liệu thống kê hoạt động bằng cách sử dụng tập hợp các ký hiệu trước đó trong luồng biểu tượng không nén để dự đoán biểu tượng tiếp theo trong luồng.
4. Deflate
Deflate là một thuật toán nén dữ liệu phổ biến, sử dụng kết hợp các thuật toán mã hóa LZ77 và Huffman để nén dữ liệu (kết hợp các thuật toán LZMA và PPM để tạo ra nhiều nén hơn). Kể từ khi Deflate không chứa các bản triển khai bị hạn chế bởi các bằng sáng chế, nó đã trở nên rất phổ biến và được sử dụng rộng rãi, đặc biệt là trong Linux.
Thuật toán mã hóa
Bây giờ chúng ta hãy đi qua một số phương thức mã hóa phổ biến:
1. DES
Tiêu chuẩn mã hóa dữ liệu sử dụng các khóa bí mật riêng tư để mã hóa và giải mã dữ liệu. Khóa bí mật được chọn ngẫu nhiên từ không gian địa chỉ 56 đến 64 bit.
2. AES
Chuẩn mã hóa nâng cao là một thuật toán mã hóa được các cơ quan Hoa Kỳ sử dụng để bảo mật dữ liệu nhạy cảm. Bạn có thể mã hóa dữ liệu bằng cách sử dụng mã hóa 128, 192 và 256 bit. AES sử dụng thuật toán khóa đối xứng có nghĩa là một khóa chung được sử dụng để mã hóa và sau đó giải mã dữ liệu.
3. Blowfish
Thuật toán mã hóa Blowfish mã hóa các lưu trữ với kích thước khối 64 bit và độ dài khóa biến đổi từ 32 đến 448 bit.
Lưu ý : Có một số thuật toán mã hóa khác nhưng ba thuật toán được đề cập ở trên là các thuật toán được sử dụng nhiều nhất.
Định dạng lưu trữ
Có sẵn các định dạng lưu trữ khác nhau. Dưới đây, chúng tôi sẽ đánh giá từng định dạng lưu trữ sử dụng ba tham số - cho dù nó hỗ trợ nén và mã hóa, Hệ điều hành và phần mềm nào có sẵn để sử dụng.
1. Tar
Tape Archive (Tar) là một trong những định dạng lưu trữ lâu đời nhất. Ban đầu, nó được sử dụng để kết hợp và ghi dữ liệu vào các ổ băng tuần tự nhưng sau đó được chuẩn hóa dưới dạng định dạng nén. Tar chủ yếu được sử dụng trong Linux và nó không hỗ trợ nén hoặc mã hóa. Bạn cũng có thể sử dụng nó trên Windows với cài đặt phần mềm bổ sung. Hầu hết các tiện ích lưu trữ hiện đại đều hỗ trợ định dạng này. Các ngoại lệ bao gồm Disk Archiver và KGB Archiver.
2. GZ
GZ hoặc GZip là một trong những định dạng nén phổ biến nhất được sử dụng trong cả Windows và Linux. GZip đã sử dụng thuật toán nén Deflate để nén các tệp đã lưu trữ. GZip cũng hỗ trợ chuyển tập tin đa phần có nghĩa là bạn có thể tạo các phần nhỏ hơn của một tệp GZip lớn để chia sẻ và chuyển dễ dàng. Vì GZip khá phổ biến, hầu hết các tiện ích lưu trữ hiện đại đều hỗ trợ nén và giải nén các tệp bằng định dạng GZip bao gồm 7-Zip, BetterZip, PKZip, WinZip và WinRAR.
3. BZ / BZ2
BZ rất giống với GZ nhưng sử dụng thuật toán chuyển đổi Burrows-Wheelers, kết quả là nén hơn một chút và kích thước tệp nhỏ hơn. Mặc dù nén chậm, giải nén khá nhanh. Hầu hết các phần mềm hỗ trợ GZ cũng hỗ trợ BZ.
4. Zip
Zip có lẽ là định dạng lưu trữ nổi tiếng và được sử dụng nhiều nhất. Zip sử dụng thuật toán Deflate và hỗ trợ nén không mất dữ liệu. Nó cũng hỗ trợ mã hóa AES và DES. Hầu hết các hệ điều hành hiện đại đều có hỗ trợ sẵn cho định dạng Zip, vì vậy bạn không cần một phần mềm riêng để lưu trữ và lưu trữ các tệp Zip.
5. 7Z
Định dạng lưu trữ 7Z đã được giới thiệu với một tiện ích mã nguồn mở miễn phí có tên là 7-Zip. Đây là định dạng nén và lưu trữ chung nâng cao nhất hỗ trợ hầu hết các thuật toán nén và mã hóa dữ liệu, bao gồm cả các thuật toán chúng tôi đã thảo luận ở trên. Định dạng 7Z nén các tệp nhiều hơn bất kỳ định dạng nào khác nhưng xử lý tương đối chậm hơn. Một hạn chế khác là phần mềm 7-Zip chỉ có sẵn cho Windows. Không có hỗ trợ trực quan cho Mac hoặc Linux. 7Z cũng hỗ trợ lưu trữ nhiều phần.
6. RAR
RAR là một định dạng lưu trữ độc quyền. Mặc dù nó có thể được đọc và trích xuất bởi các tiện ích khác như 7-Zip và WinZip, nó chỉ có thể được tạo bằng tiện ích WinRAR. RAR là định dạng phổ biến nhất cho việc lưu trữ nhiều phần trước khi 7Z được phát hành. Bây giờ 7Z có thể thực hiện cùng một nhiệm vụ miễn phí mà RAR thực hiện bằng cách làm cho người dùng trả tiền cho phần mềm WinRAR. RAR hỗ trợ mã hóa AES.
Các định dạng nén và lưu trữ khác
Dưới đây là một số định dạng ít được biết đến hơn:
XZ là định dạng nén dữ liệu không mất dữ liệu sử dụng thuật toán nén LZMA2. Nó có thể được coi là một phiên bản rút gọn của 7Z.
LHA, trước đây được gọi là LHarc, chủ yếu được sử dụng để nén các tệp cài đặt và trò chơi (chủ yếu được sử dụng ở Nhật Bản). Thật thú vị, phiên bản tiếng Nhật của Windows 7 đi kèm với sự hỗ trợ tích hợp cho các kho lưu trữ LHA.
ACE là một định dạng tệp nén lưu trữ dữ liệu độc quyền, là đối thủ cạnh tranh với định dạng RAR trong những ngày đầu năm 2000.
StuffIt chủ yếu được phát hành cho Mac nhưng các phiên bản dành cho Windows, Linux và Solaris đã được phát hành sau đó. Đây là một định dạng nén độc quyền được sử dụng bởi tiện ích StuffIt.
Phần kết luận
Trong Linux, định dạng được sử dụng phổ biến nhất là gz (hoặc tar.gz), tiếp theo là bz, trong khi trong Windows hoặc Mac, định dạng được sử dụng phổ biến nhất là Zip. Đối với khả năng tương thích đa nền tảng, định dạng Zip là định dạng tương thích. Nếu bạn muốn các tính năng như bảo mật, nén cao và lưu trữ nhiều phần, hãy sử dụng định dạng 7Z. RAR tương tự như 7Z ngoại trừ nó đi kèm với một thẻ giá. Tránh nó càng nhiều càng tốt.
Bạn sử dụng định dạng tệp và tiện ích nào để nén?
Tín dụng hình ảnh: Bản sao thiết bị mã hóa mùa xuân, M-94