Cách dùng Làm rối JavaScript
- Dán đoạn JavaScript bạn muốn bảo vệ.
- Chọn mức bảo vệ: Nhẹ giúp mã chạy nhanh và nhỏ gọn, Mạnh giúp mã khó dịch ngược hơn nhiều.
- Nhấn Làm rối, kiểm tra kết quả, rồi sao chép hoặc tải xuống.
Làm rối mã hoạt động như thế nào
Làm rối mã chuyển đoạn code đang chạy thành một phiên bản tương đương nhưng rất khó đọc đối với con người. Công cụ này sử dụng bộ máy mã nguồn mở javascript-obfuscator: các định danh được đổi thành tên hex vô nghĩa, chuỗi được chuyển vào một mảng đã mã hóa, và ở mức cao hơn, luồng điều khiển được làm phẳng thành máy trạng thái và mã thừa được chèn vào.
Chọn mức bảo vệ
- Nhẹ — đổi tên và tạo mảng chuỗi; chi phí thêm không đáng kể. Phù hợp với hầu hết mã front-end.
- Trung bình — thêm làm phẳng luồng điều khiển, mã hóa và tách chuỗi. Mã sẽ lớn hơn và chạy chậm hơn.
- Mạnh — thêm chèn mã thừa và các phép biến đổi mạnh hơn. Chỉ nên dùng cho mã không yêu cầu hiệu năng cao.
Hiểu rõ giới hạn
Làm rối mã chỉ làm chậm quá trình dịch ngược — nó không giúp mã trở thành bí mật tuyệt đối. Mọi thứ chạy trên trình duyệt cuối cùng đều có thể bị phân tích, vì vậy đừng bao giờ đặt khóa API, mật khẩu hay khóa bản quyền trong mã phía client. Hãy luôn kiểm tra đầu ra đã làm rối và giữ an toàn mã nguồn gốc, vì việc làm rối không thể hoàn tác.
Bảo mật theo thiết kế
Việc làm rối mã được thực hiện hoàn toàn trong trình duyệt của bạn — mã không bao giờ được tải lên, nên an toàn cho các dự án độc quyền.
Cũng được tìm dưới tên: obfuscate javascript, js obfuscator, mã hóa javascript, bảo vệ mã javascript, làm rối code js online, javascript encrypt.
Các công cụ dùng kèm tốt với Làm rối JavaScript
- Nén JavaScript (Minify JS) — Dán JavaScript vào và nhận code đã nén, sẵn sàng cho production, từ Terser — cùng engine được Vite, webpack và Rollup sử dụng — kèm so sánh trước/sau và dung lượng gzip thực tế.
- Định dạng JavaScript — Giải nén và định dạng lại JavaScript, JSON hoặc JSX với kiểu thụt lề và dấu ngoặc bạn chọn, hoặc loại bỏ khoảng trắng và chú thích bằng bộ thu gọn đã được kiểm chứng.
- Mã hóa & Giải mã AES — Bảo vệ ghi chú, thông tin bí mật hoặc giá trị cấu hình bằng mật khẩu với AES-256, hoặc giải mã văn bản được tạo bởi openssl enc.
- Tạo mã Hash — Tính mã hash MD5 và SHA cho mọi văn bản hoặc file ngay lập tức, tạo chữ ký HMAC và dán checksum mong đợi để kiểm tra file tải về.