Nascondi un messaggio nel testo
Nascondi un messaggio segreto in un testo normale con caratteri invisibili a larghezza zero, cifrato con passphrase se vuoi, poi rivelalo o rimuovilo.
È un trucco, non una protezione: molte app e molti siti eliminano i caratteri a larghezza zero, e chiunque può rilevarli con un semplice controllo. Usa la passphrase se il contenuto è importante.
Nascondi un messaggio
- Caratteri visibili
- Caratteri invisibili aggiunti
- Dimensione in UTF-8
Mostra dove sono i caratteri nascosti
Ogni ◆ corrisponde a un carattere invisibile. Copia il testo dal riquadro qui sopra, non da questa vista.
Rivela o rimuovi un messaggio nascosto
Rimuovi tutti i caratteri invisibili
Come nascondere un messaggio
- Scrivi il Testo di copertura (quello che vedono tutti): una frase normale che, dopo, avrà esattamente lo stesso aspetto.
- Scrivi il Messaggio segreto.
- Se vuoi, inserisci una Passphrase (facoltativa). Il messaggio viene allora cifrato con AES-256-GCM prima di essere nascosto, quindi conoscere il metodo non basta per leggerlo.
- Scegli Dove inserire i caratteri nascosti: Dopo la prima parola (predefinito), Sparsi tra le parole, All’inizio o Alla fine.
- Clicca Nascondi il messaggio, poi copia il Testo con il messaggio nascosto con il pulsante Copia. Apri Mostra dove sono i caratteri nascosti per vederli come simboli ◆.
Come rivelare o rimuovere un messaggio nascosto
- Incolla il testo in Testo da controllare. Sotto il riquadro compare il numero di caratteri a larghezza zero.
- Clicca Rivela il messaggio. Se il messaggio è cifrato, inserisci la Passphrase (se il messaggio è cifrato) e clicca di nuovo.
- Per ripulire un testo, clicca Rimuovi i caratteri nascosti: ottieni lo stesso testo senza i dati nascosti. Le emoji come 👨👩👧, che usano legittimamente dei joiner invisibili, restano intatte.
Tutto avviene nel tuo browser: né il testo né la passphrase vengono inviati altrove.
Come funziona
Unicode contiene caratteri che sullo schermo non occupano spazio. Questo strumento ne usa quattro come cifre: ZERO WIDTH SPACE (U+200B) = 00, ZERO WIDTH NON-JOINER (U+200C) = 01, ZERO WIDTH JOINER (U+200D) = 10 e WORD JOINER (U+2060) = 11. Il messaggio viene convertito in byte UTF-8 e ogni byte diventa quattro caratteri invisibili. Il blocco inizia e finisce con uno ZERO WIDTH NO-BREAK SPACE (U+FEFF) e contiene un’intestazione di un byte che indica se il contenuto è testo in chiaro o cifrato.
La parte nascosta cresce quindi in fretta: un messaggio di 20 lettere aggiunge circa 90 caratteri invisibili, e la cifratura aggiunge 49 byte tra intestazione e tag di autenticazione (circa 200 caratteri in più). In UTF-8 ognuno di questi caratteri occupa 3 byte, il che conta nei campi con un limite in byte. Dimensione in UTF-8, tra i risultati, mostra la dimensione reale dell’intero testo.
Con una passphrase, lo strumento usa lo stesso formato dello strumento di cifratura del testo: PBKDF2-SHA-256 con 600.000 iterazioni ricava la chiave, AES-256-GCM cifra, e una passphrase sbagliata o un solo carattere alterato fanno fallire la decifratura invece di restituire caratteri senza senso.
Limiti: un trucco, non una protezione
- Molte piattaforme eliminano i caratteri a larghezza zero. Alcune app di messaggistica, social network, campi di modulo ed editor di testo li rimuovono o li normalizzano. Prova prima con la destinazione: incolla lì il risultato, ricopialo e clicca Rivela il messaggio.
- Le copie parziali rompono il messaggio. Se chi legge copia solo una parte del testo, il blocco è incompleto e di solito lo strumento lo segnala come danneggiato.
- È facile da rilevare. Qualsiasi rilevatore di caratteri invisibili, un editor esadecimale o un semplice conteggio rivelano che c’è qualcosa. In questo modo non si può nascondere l’esistenza di un messaggio a un osservatore determinato.
- Senza passphrase è solo offuscamento. Chiunque conosca questa tecnica diffusa può decodificarlo. Per qualsiasi contenuto sensibile usa una passphrase robusta e comunicala tramite un altro canale.
Per rimuovere ogni tipo di carattere invisibile (spazi indivisibili, controlli bidirezionali, trattini facoltativi e altro), usa lo strumento Rimuovi caratteri invisibili.
Domande frequenti
Il messaggio nascosto sopravvive all'invio via email o chat?
A volte. Le email in testo semplice e molte app di chat mantengono i caratteri a larghezza zero, ma alcuni servizi li eliminano e alcune tastiere o alcuni editor li modificano. Fai sempre una prova di andata e ritorno.
Altri strumenti possono leggere i messaggi nascosti qui?
Solo quelli che usano la stessa codifica. Non esiste uno standard per la steganografia a larghezza zero, quindi strumenti diversi in genere non sono compatibili.
Spargere i caratteri tra le parole aiuta?
Evita lunghe sequenze di caratteri invisibili tutte nello stesso punto, cosa che può resistere meglio ad alcuni editor e sembra meno sospetta in un ispettore di caratteri. Non rende però il messaggio più difficile da trovare per un software.
Perché lo strumento trova caratteri a larghezza zero ma nessun messaggio?
Il testo contiene caratteri invisibili che non sono stati scritti nel formato di questo strumento: copiati da una pagina web, inseriti da un editor o filigrana di un altro strumento. Lo strumento Rimuovi caratteri invisibili può elencarli.
Cosa succede se nascondo un nuovo messaggio in un testo che ne contiene già uno?
Il vecchio blocco nascosto viene rimosso prima, quindi il risultato contiene solo il nuovo messaggio.
Strumenti correlati
- Rimuovi caratteri invisibili Trova e rimuovi i caratteri invisibili online. Rileva spazi a larghezza zero, spazi indivisibili, trattini facoltativi e controlli bidi (Trojan Source).
- Cifra testo con password Cifra e decifra testo con una passphrase nel browser, con AES-256-GCM e PBKDF2 a 600.000 iterazioni. Nulla viene caricato. Limiti spiegati con onestà.
- Nascondi un testo in un'immagine Nascondi un messaggio segreto in un'immagine con la steganografia LSB, con cifratura AES-256-GCM facoltativa, e rivelalo in seguito. In locale, senza upload.
- Testo in binario, esadecimale e ASCII Converti testo in binario, esadecimale, decimale o ottale e viceversa, con byte UTF-8 o code point Unicode e una tabella di ogni carattere.