Escape Encryption và decryption thường đề cập đến quy trình mã hóa các ký tự đặc biệt thành định dạng thoát an toàn (thường có dấu gạch chéo ngược hoặc mã hóa phần trăm) để văn bản có thể được lưu trữ, truyền tải hoặc diễn giải một cách an toàn.
Về mặt kỹ thuật, đây không phải là mã hóa thực sự — mà là thoát: đảm bảo các ký tự đặc biệt được coi là văn bản theo nghĩa đen chứ không phải là lệnh điều khiển.
Ngăn ngừa lỗi: Bảo vệ các ký tự đặc biệt (như dấu ngoặc kép, dấu gạch chéo hoặc dấu &) khỏi bị trình phân tích cú pháp, trình biên dịch hoặc trình duyệt diễn giải sai.
Cải thiện bảo mật: Thoát khỏi đầu vào để ngăn chặn các cuộc tấn công tiêm mã (ví dụ: tiêm mã SQL, Cross-site Scripting (XSS)).
Tính toàn vẹn dữ liệu: Đảm bảo rằng các ký tự đặc biệt được truyền hoặc lưu trữ mà không bị thay đổi.
An toàn định dạng: Đảm bảo rằng dữ liệu có thể truyền qua các hệ thống khác nhau một cách an toàn (như HTML, JavaScript, URL, cơ sở dữ liệu).
Sử dụng các hàm hoặc thư viện tích hợp để thoát và hủy thoát các chuỗi (ví dụ: escape() và unescape() trong JavaScript, htmlspecialchars() trong PHP).
Xác định các ký tự có thể can thiệp vào hệ thống mục tiêu và thay thế chúng bằng các phiên bản thoát an toàn của chúng (ví dụ: " trở thành \", < trở thành <).
Khi nhận được dữ liệu đã thoát, hãy giải mã (bỏ thoát) dữ liệu đó trở lại dạng có thể đọc được ban đầu khi an toàn để thực hiện.
Khi xử lý đầu vào của người dùng sẽ được chèn vào HTML, JavaScript, SQL hoặc URL.
Khi truyền dữ liệu qua các giao thức không hỗ trợ các ký tự đặc biệt thô (ví dụ: HTTP, JSON).
Khi lưu trữ văn bản trong cơ sở dữ liệu, nơi các ký hiệu đặc biệt có thể phá vỡ định dạng hoặc truy vấn.
Khi xây dựng API, biểu mẫu web hoặc xuất tệp, nơi thoát giữ nguyên ý nghĩa và cấu trúc của dữ liệu.