Giải nén RAR
Giải nén file RAR, kể cả file có mật khẩu, 100% trong trình duyệt. Không tải lên, không cài đặt, hoàn toàn riêng tư. Hỗ trợ RAR4 và RAR5, đến 200 MB.
Về công cụ giải nén RAR
RAR (Roshal Archive) là định dạng nén tệp độc quyền do Eugene Roshal tạo năm 1993. Có hai biến thể trên đĩa: RAR4 (signature 'Rar!\x1A\x07\x00', dùng từ 1993–2013) và RAR5 (signature 'Rar!\x1A\x07\x01\x00', ra mắt cùng WinRAR 5.0 năm 2013, bổ sung mã hóa AES-NI 256-bit, checksum BLAKE2sp và volume tới 1 PB). Khác ZIP, đặc tả RAR là đóng và mã nguồn giải nén có giấy phép hạn chế phân phối lại, đó là lý do hầu hết công cụ giải nén trên trình duyệt dựa vào port WebAssembly của libunrar hoặc unrar.js. Công cụ này đọc file RAR hoàn toàn trong trình duyệt qua FileReader, liệt kê từng entry (tên, dung lượng, dung lượng nén, tỉ lệ, checksum CRC32), và cho phép tải từng file hoặc toàn bộ. Các entry được mã hóa (RAR4 với cờ -p hoặc RAR5 với -hp) không thể bẻ ở đây — hãy dùng WinRAR, 7-Zip hoặc công cụ Giải nén 7Z của chúng tôi, vốn hỗ trợ rộng hơn. Giới hạn 200 MB tồn tại vì trình duyệt buffer cả file vào bộ nhớ; file lớn hơn cần phần mềm máy tính đọc theo stream từ ổ cứng.
RAR4 và RAR5 khác nhau ra sao, công cụ hỗ trợ phiên bản nào?
RAR4 (định dạng 'RAR' dùng 2001–2013) dùng một biến thể LZSS tự chế cộng với coder số học, hỗ trợ volume tới 1 TB và mã hóa AES-128 khi đặt mật khẩu. RAR5 (cùng WinRAR 5.0, 2013) thay thế: dùng biến thể LZSS cải tiến tên RAR-Optimized, mã hóa AES-256-CTR, checksum BLAKE2sp tùy chọn (thay CRC32 cho ai cần kiểm tra tính toàn vẹn nghiêm ngặt), volume tới 1 PB. Signature trên đĩa giúp phân biệt — mở file bằng trình xem hex và nhìn 7-8 byte đầu. Công cụ này đọc danh sách entry và lấy file của cả hai biến thể. Nó cũng hỗ trợ entry mã hóa theo nội dung: mở file, gõ mật khẩu vào ô hiện ra rồi bấm Giải Nén lần nữa. Trường hợp duy nhất không xử lý được trong trình duyệt là file có header đã mã hóa (tạo bằng `rar a -hp`), nơi cả danh sách file cũng bị mã hóa — với loại này hãy dùng phần mềm trên máy tính.
Làm sao giải nén file RAR có mật khẩu ở đây?
Mở file như bình thường. Khi công cụ phát hiện dữ liệu mã hóa, một ô mật khẩu sẽ hiện ra dưới phần thông tin file — gõ mật khẩu và bấm Giải Nén File lần nữa. Mật khẩu được đưa thẳng vào bộ giải mã WebAssembly chạy ngay trong tab của bạn và không bao giờ gửi tới máy chủ, nên file và mật khẩu luôn ở lại trên thiết bị. Cách này hoạt động với file RAR4 và RAR5 mã hóa theo nội dung (trường hợp phổ biến, tạo bằng hộp thoại mật khẩu WinRAR hoặc `rar a -p`). Trường hợp duy nhất trình duyệt không xử lý được là file có header đã mã hóa (`rar a -hp`), nơi chính danh sách file cũng bị mã hóa — với loại này hãy dùng WinRAR, 7-Zip (miễn phí, mã nguồn mở), Keka (macOS) hoặc The Unarchiver (macOS), vốn dùng đường AES-NI phần cứng. Nếu nhận thông báo sai mật khẩu, hãy kiểm tra chữ hoa chữ thường và khoảng trắng thừa ở cuối.
CRC32 hoặc BLAKE2sp trong danh sách nghĩa là gì?
Mỗi entry trong file RAR mang checksum để trình giải nén xác minh file được lấy ra giống y nguyên byte với khi nén vào. RAR4 dùng CRC32 (tổng kiểm 32-bit theo đa thức, cùng thuật toán dùng trong khung Ethernet, ZIP, PNG); RAR5 mặc định CRC32 nhưng có tùy chọn BLAKE2sp (hàm băm mật mã song song, khó giả mạo hơn rất nhiều). Nếu giải nén xong nhưng checksum lệch, file gốc đã hỏng (bit-rot trên đĩa, tải về thiếu, hoặc bị can thiệp). Tải lại file hoặc chạy `rar t archive.rar` từ CLI WinRAR để kiểm tra. CRC32 *không* phải mật mã — ai cũng có thể tạo file khác cùng CRC32 — nên đừng coi việc trùng CRC là bằng chứng xác thực, chỉ là phát hiện hỏng ngẫu nhiên.
Có giải nén được RAR nhiều phần (.part1.rar, .part2.rar) không?
Hỗ trợ một phần. RAR chia file lớn thành các volume tên archive.part01.rar, archive.part02.rar, v.v. (kiểu cũ: archive.rar, archive.r00, archive.r01). Để giải nén, công cụ cần nạp tất cả các phần cùng lúc; trình duyệt không thể tự kết nối các lần upload riêng lẻ như WinRAR làm trên thư mục đĩa. Giải pháp: ghép các phần thành một stream bằng công cụ máy tính trước (`cat *.part*.rar > combined.bin` trên Linux/macOS, hoặc trỏ WinRAR vào part1 và để nó tự theo chuỗi). Cho luồng chỉ-trình-duyệt, công cụ Giải nén 7Z của chúng tôi xử lý multi-volume 7Z mượt hơn. Giới hạn 200 MB áp lên file đã ghép — split 5 volume tổng 1 GB phải dùng phần mềm máy tính.

RAR, ZIP, 7Z, TAR khác gì và nên dùng cái nào?
ZIP (PKZIP 1989, RFC 9018 năm 2024): tương thích toàn cầu, mọi hệ điều hành mở được, dùng nén Deflate (công nghệ thập niên 90), không có chế độ solid, mã hóa mặc định yếu. RAR: nén tốt hơn ZIP (thường nhỏ hơn 5–15% với text và mã nguồn), hỗ trợ chế độ solid (coi cả archive là một stream) và recovery record (sửa bit-rot), nhưng độc quyền. 7Z (7-Zip 1999): tỉ lệ nén tốt nhất trong bốn (LZMA2, nhỏ hơn ZIP 10–25% với nội dung điển hình), miễn phí mã nguồn mở, AES-256 có bảo vệ header tử tế, nhưng nén chậm hơn. TAR (1979): chỉ là wrapper ghép file; ghép cùng gzip (.tar.gz), bzip2 (.tar.bz2) hoặc xz (.tar.xz) để nén; chuẩn Unix và khoa học máy tính. Dùng ZIP nếu cần tương thích, 7Z khi cần nén tối đa, RAR khi đối tác yêu cầu, TAR.GZ/XZ khi phân phối phần mềm Linux.
Chế độ solid của RAR khác gì và có đáng dùng không?
Chế độ solid (mặc định từ RAR 3.0 cho archive nhiều file nhỏ) coi cả archive như một stream LZSS liên tục thay vì nén từng file riêng. Các file nén dựa trên dictionary dựng từ tất cả file trước trong archive, nên 10 ảnh gần giống nhau hoặc 1000 file mã nguồn nhỏ tạo ra archive nhỏ hơn rất nhiều — thường nhỏ hơn 10–40% so với chế độ không solid với nội dung tương tự. Đánh đổi: lấy ra một file nhỏ duy nhất buộc phải giải nén toàn bộ phần trước nó trong stream (truy cập ngẫu nhiên chậm trên archive solid khổng lồ), và một byte hỏng ở đầu stream có thể phá việc giải nén mọi file sau (recovery record giảm nhẹ chứ không triệt). Backup giải nén nguyên cục thì solid là thắng; archive cần lấy file lẻ thường xuyên thì không solid nhanh hơn.
Giải nén file RAR trực tuyến có an toàn và riêng tư không?
Không. Công cụ dùng API FileReader của trình duyệt và một port WebAssembly của libunrar để phân tích cả file trong tab của bạn. File được nạp vào JavaScript ArrayBuffer trong bộ nhớ trình duyệt, giải mã cục bộ, và các file giải ra được API Blob/Object URL tạo trên thiết bị. Không có gì lên máy chủ chúng tôi, không log analytics, không cache server-side. Mở tab Network của DevTools trước khi bấm Giải nén — bạn sẽ thấy không có POST nào chứa nội dung file đi ra. Trang chỉ tải CSS, JS và module WebAssembly từ CDN, nhưng những request đó không mang dữ liệu người dùng. Đóng tab là buffer biến mất ngay.
Giới hạn dung lượng là bao nhiêu và làm gì với file lớn hơn?
Tối đa 200 MB. Ràng buộc là bộ nhớ trình duyệt: các engine JS (V8 trong Chrome/Edge, SpiderMonkey trong Firefox, JavaScriptCore trong Safari) giới hạn một ArrayBuffer khoảng 2 GB nhưng thực tế bị nghẽn quá vài trăm MB trên điện thoại hoặc tab nhiều nội dung. Chúng tôi đặt 200 MB để trải nghiệm mượt trên điện thoại điển hình. Với file lớn hơn — mod game, image đĩa, dump dataset — cài WinRAR (Windows, dùng thử/trả phí), 7-Zip (Windows miễn phí), Keka (macOS ~5 €), hoặc The Unarchiver (macOS miễn phí, hỗ trợ cả RAR4 và RAR5). Trên Linux, `unrar x archive.rar` từ gói unrar hoặc bsdtar xử lý RAR4. Công cụ máy tính đọc theo stream nên không bao giờ nạp cả file vào RAM, file vài GB vẫn chạy ổn.
