Javascript là một ngôn ngữ kịch bản/thông dịch. Không giống như Java hay .NET, Javascript không cần comply trước khi chạy. Javascript thường chạy trên phía người dùng (trên trình duyệt) nên càng dễ dàng được copy! Vậy làm thế nào để mã hóa file Javascript hay một hàm trong đó? Chuyện nhỏ, chúng ta có nhiều cách!

Tại sao phải mã hóa hàm Javascript ?
Vì đơn giản, hàm của bạn có chứa thuật toán mà bạn muốn chỉ riêng bạn có. Hoặc như Google, tất cả các hàm liên quan đều được mã hóa theo cách riêng để tránh hacker hay web deverloper nhòm ngó !
Cũng như mình, mình có vài hàm liên quan tới bảo mật cho API riêng nên bắt buộc phải mã hóa hàm Javascript trong file.
Bằng cách nào ?
Có 2 cách cơ bản là xáo trộn hàm và mã hóa rồi giải mã dùng hàm eval. Tuy nhiên xáo trộn vẫn là cách tốt nhất để bảo mật cho file Javascript của bạn. Đơn giản vì nó chạy tốt, không tốn tài nguyên như hàm eval!
Nói chung, trong ngôn ngữ nào cũng vậy, chạy hàm tương tự như eval là một tối kiến, tối tới mức không thể nào đen hơn. Đó không phải là cách mã hóa Javascript tốt.
Các công cụ mã hóa file Javascript
Tất cả các công cụ mã hóa Javascipt sau đây đều Online hết, dễ sử dụng:
https://javascriptobfuscator.com : Đây là website mình hay dùng nhất. Nó dễ và căn bản là mình mã hóa bằng website này chưa thấy lỗi phát nào. Hàm chạy rất ngon nhé !

Ngoài ra còn có:
https://www.danstools.com/ : Công cụ này mã hóa hàm Javascript bằng hàm Eval. Tuy code ngắn gọn hơn cách xáo trộn nhưng chạy hàm này thường tốn CPU và nặng trình duyệt. Nhưng hàm của bạn nhỏ thì cũng chẳng có gì đáng ngại nhé.

Còn nếu bạn nào muốn lấy file nguồn về để làm công cụ cho riêng mình thì đây: https://github.com/javascript-obfuscator/javascript-obfuscator
Với các công cụ hỗ trợ mã hóa file Javascript trên, bạn sẽ bảo vệ được hàm của mình trên trình duyệt. Chúc các bạn thành công nha ! Mời xem thêm cách tăng tốc website dùng Async cho Javascript !
Trong trường hợp khác, các bạn có thể học TypeScript để gõ Javascript. Code nó xuất ra cũng rất khó để đọc đấy nha! Chưa kể là nếu kết hợp Typescript với Webpack thì đúng là căng đét!

Cho nên, nếu mã hóa ở mức cơ bản mà không cần phải bảo mật đoạn code bản quyền, mình ưu tiên dùng Webpack. Nhanh gọn, tối ưu dung lượng và tốc độ.
Nếu bạn dùng ReactJS, các bạn có thể xài Webpack để tối ưu code và hạn chế đánh cắp code ngoài Front-end.
em muốn hỏi về quảng cáo admob !
nói chính xác hơn là nó trả tiền cho lượt hiển thị và click ads đúng không anh.. và tỉ lệ click ads từ ứng dụng app thì thường về tầm trung bình bao nhiêu ra sao anh nhỉ ..
giờ có 2 mạng ông lớn là facebook và google chả biết lựa chọn ông nào để mà tốt nhất cho chạy quảng cáo cho app nửa ..?
sr em đặt câu hỏi tại topic này vì tp này mới nhất ạ :)) ..
Anh cho em hỏi .. em muốn viết 1 app android bản quyền cho riêng em và gắn ads admob vô không biết lựa chọn facebook hay google bên nào là hiệu quả và tiết kiệm chi phí nhất để chạy quảng cáo kiếm lượt tải cài đặt app..
.. Và tỉ lệ click quảng cáo ads của admob thì thường tầm trung bình là về bao nhiêu vậy anh .. 1/100 không anh nhỉ ?.. và admob nó sẻ trả theo giá tùy từng quốc gia phải không anh ?
cảm ơn nếu được anh giải thích rõ ràng với các câu hỏi của em.
luôn ủng hộ blog của anh! ^^
Admob của Google có độ phủ quảng cáo cao nhất và trả nhiều tiền nhất đấy bạn ạ ! Tỉ lệ click quảng cáo còn tùy thuộc vào vị trí bạn đặt quảng cáo trên APp ! Thường thì chọn 2 dạng là quảng cáo “bổ thẳng vào mặt người dùng” có một nút dấu nhân ở góc, có một loại quảng cáo khác là hiển thị banner nhỏ ở dưới cùng của APp ! Bạn thử nghiệm và chọn quảng cáo phù hợp nhất nhé !