La crittografia di escape e la decrittografia si riferiscono generalmente al processo di codifica di caratteri speciali in un formato sicuro e con escape (spesso con barre rovesciate o codifica percentuale) in modo che il testo possa essere memorizzato, trasmesso o interpretato in modo sicuro.
Tecnicamente, questa non è vera crittografia, ma è un escape: assicurarsi che i caratteri speciali vengano trattati come testo letterale anziché come istruzioni di controllo.
Prevenire gli errori: proteggere i caratteri speciali (come virgolette, barre o e commerciali) dall'interpretazione errata da parte di parser, compilatori o browser.
Migliorare la sicurezza: utilizzare l'escape dell'input per prevenire attacchi di iniezione (ad esempio, SQL injection, Cross-site Scripting (XSS)).
Integrità dei dati: garantire che i caratteri speciali vengano trasmessi o memorizzati senza essere alterati.
Sicurezza del formato: garantire che i dati possano passare in modo sicuro attraverso diversi sistemi (come HTML, JavaScript, URL, database).
Utilizzare funzioni o librerie integrate per eseguire l'escape e rimuovere l'escape delle stringhe (ad esempio, escape() e unescape() in JavaScript, htmlspecialchars() in PHP).
Identificare i caratteri che potrebbero interferire con il sistema di destinazione e sostituirli con le relative versioni di escape sicure (ad esempio, " diventa \", < diventa <).
Quando si ricevono i dati sottoposti a escape, decodificarli (eliminando l'escape) riportandoli alla forma originale leggibile quando è sicuro farlo.
Quando si gestisce l'input utente che verrà inserito in HTML, JavaScript, SQL o URL.
Quando si trasmettono dati tramite protocolli che non supportano Caratteri speciali non elaborati (ad esempio HTTP, JSON).
Quando si memorizza testo in database in cui i simboli speciali potrebbero compromettere il formato o le query.
Quando si creano API, moduli web o esportazioni di file in cui l'escape preserva il significato e la struttura dei dati.