ForHosting KIT · Strumenti per sviluppatori

Cifrario XOR

Combina il suo testo con una chiave ripetuta tramite XOR e mostra il risultato in esadecimale: «Hello» con la chiave «key» diventa 230015070a, e la stessa chiave lo riporta a testo. Pensato per enigmi, allenamenti CTF e lezioni, non per proteggere segreti. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Testo
Hello
Chiave
key
Modalità di calcolo
Encrypt
Ottiene
Risultato
230015070a
Lunghezza della chiave
3
Byte
5

Il cifrario XOR è un cifrario a flusso classico a chiave ripetuta che combina ogni byte di dati con un byte della chiave tramite l'operazione or-esclusivo. Poiché XOR è la propria inversa, la stessa chiave che mescola un messaggio lo ripristina quando viene applicata di nuovo. La modalità decrypt accetta quell'hex, riapplica il flusso di chiave e restituisce testo UTF-8 quando la chiave corrisponde. Si usa il XOR a chiave ripetuta per riscaldamenti CTF, dimostrazioni in aula di cifrari a flusso, libri di enigmi e offuscamento leggero quando la crittografia autenticata moderna sarebbe eccessiva.

Regole di validazione, chiavi vuote ed errori comuni

Le stringhe di mode non valide al di fuori di encrypt, decrypt, encode e decode falliscono allo stesso modo. Non tratti l'output come crittografia per la riservatezza: il XOR a chiave ripetuta è vulnerabile ad attacchi a testo noto, crib dragging e analisi delle frequenze quando la chiave è corta rispetto al messaggio, e la pagina del prodotto non deve mai presentare questo strumento come controllo di sicurezza per password, token o dati personali.

Preferisca questa pagina quando l'intento di ricerca è cifrario xor, XOR a chiave ripetuta o cifra decifra XOR in hex; Atbash e ROT13 rispondono alla sostituzione fissa d'alfabeto, la trasposizione a steccato risponde alla trasposizione, Base64 e hex-text rispondono alla codifica senza chiave, quindi restano strumenti separati. Quando decifra, usi esattamente la stessa stringa di chiave che ha prodotto il testo cifrato; una chiave sbagliata fallisce la validazione UTF-8 o produce geroglifici che non corrisponderanno al testo in chiaro originale.

Usi in aula e limiti pratici

Chiami il cifrario XOR gratuito nel browser per verificare compiti, slide di lezioni, pratica CTF ed esecuzioni occasionali di cifratura o decifratura senza scrivere un ciclo di flusso di chiave in ogni linguaggio. Un tipico flusso d'aula mostra che una chiave di un byte è un semplice flusso in stile Cesare sui byte, poi allunga la chiave e dimostra che la lunghezza del testo cifrato eguaglia quella del testo in chiaro in byte mentre l'hex raddoppia il conteggio dei caratteri.

I playbook di supporto possono invertire annotazioni leggermente offuscate che il personale ha scritto con una chiave condivisa nota. I siti di enigmi possono precalcolare risposte hex per la visualizzazione e rivelarle su richiesta con mode decrypt. Lo abbini a librerie crittografiche moderne solo quando un passo successivo richiede crittografia autenticata — tenga XOR sulla propria pagina così che l'intento SEO resti centrato sull'or-esclusivo classico a chiave ripetuta.

Riscaldamenti XOR per CTF ed enigmi

Nasconda brevi flag o indizi sotto una chiave ripetuta nota, pubblichi l'hex e poi decifri con la stessa chiave quando i partecipanti hanno bisogno della rivelazione senza installare librerie crittografiche.

Come cifro il testo con il cifrario XOR?

Il campo result della risposta contiene il testo cifrato esadecimale in minuscolo.

Come decifro un testo cifrato XOR in hex?

Invii la stringa hex come text, la stessa chiave usata per cifrare e mode decrypt (o decode). Il risultato è il testo in chiaro UTF-8 ricostruito quando la chiave corrisponde.

Cosa succede se la chiave è vuota?

Una chiave non vuota è richiesta affinché il flusso di chiave ripetuta sia ben definito.

Il cifrario XOR è gratuito?

Lo strumento del browser funziona gratis sul suo dispositivo.

Il XOR a chiave ripetuta è una crittografia sicura?

No. È un cifrario classico didattico e ludico, non riservatezza per segreti. Non lo usi mai per password o dati sensibili di produzione; usi invece la crittografia autenticata moderna.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/enc/xor

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/enc/xor \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello","key":"key"}'
{
  "text": "Hello",
  "key": "key"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.xor",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Questa capacità codifica il testo in chiaro come UTF-8, fa scorrere i byte della chiave sul payload e presenta il testo cifrato come esadecimale compatto in minuscolo così che i risultati binari restino copiabili. Inserisca testo non vuoto, una chiave non vuota e una modalità encrypt o decrypt opzionale; le chiavi vuote falliscono con invalid_input.

Come funziona il XOR a chiave ripetuta e cosa contiene la risposta

La cifratura converte prima il suo messaggio in byte UTF-8 così che i caratteri multibyte siano trattati allo stesso modo in ogni isolate. Anche la stringa della chiave è codificata in UTF-8; quei byte di chiave formano un flusso che riparte dall'inizio ogni volta che il messaggio è più lungo della chiave. Ogni byte di dati subisce l'or-esclusivo con il byte di chiave alla posizione indice modulo lunghezza della chiave, producendo un testo cifrato binario di uguale lunghezza. La decifratura inverte la presentazione: il campo text deve essere esadecimale (spazi, due punti, trattini o prefissi 0x opzionali vengono rimossi), si applica lo stesso flusso di chiave e i byte risultanti sono decodificati come testo UTF-8. I valori di mode accettati sono encrypt, encode, decrypt e decode; encode corrisponde a encrypt e decode a decrypt. Invii JSON con il campo stringa obbligatorio text impostato al messaggio in chiaro o al testo cifrato hex, il campo stringa obbligatorio key con qualsiasi passphrase non vuota, e mode opzionale che di default è encrypt. Gli alias input, value, s, message e ciphertext funzionano per il body; password, secret, k e passphrase sono alias della chiave; op, action e direction sono alias di mode. In caso di successo la risposta include result con la stringa hex o in chiaro, mode normalizzato a encrypt o decrypt, key_length uguale alla lunghezza in byte UTF-8 della chiave, bytes uguale al numero di byte di dati elaborati, e method uguale a xor così che i client possano diramare senza annusare le forme. Input identici producono sempre JSON identico perché il percorso è pura aritmetica su byte, senza rete, senza seme casuale e senza orologio.

Regole di validazione, chiavi vuote ed errori comuni

Un text mancante, non stringa o una stringa vuota sollevano invalid_input e non vengono addebitati sull'API prepagata dopo che il motore rifiuta la richiesta. Una key mancante, non stringa o una chiave vuota falliscono anch'esse con invalid_input; la promessa del prodotto è un vero flusso di chiave ripetuta, e zero byte di chiave lascerebbero i dati invariati o indefiniti come cifrario. In modalità decrypt, hex di lunghezza dispari dopo la rimozione dei separatori, caratteri non esadecimali o byte decifrati che non sono UTF-8 valido sollevano ugualmente invalid_input, così che i client non ricevano mai stringhe corrotte in silenzio.

Uso dell'API, prezzi, flussi in aula e limiti pratici

Usi l'API prepagata KIT quando un backend, una funzione serverless, una piattaforma di tutoring o un SDK ha bisogno di un contratto stabile con saldo a $0.002 per elemento riuscito; i fallimenti di validazione non consumano mai saldo dopo il rifiuto. Gli autori che pubblicano SDK possono mappare il campo result direttamente su un pulsante di copia mentre mode, key_length, bytes e method rendono gli esempi OpenAPI autoesplicativi. Mantenga i payload a dimensioni testuali ordinarie, adatte a una chiamata di elemento in un isolate di Worker; questo strumento è per messaggi e frammenti, non per blob binari di diversi megabyte.

Dimostrazioni di cifrario a flusso in aula

Gli insegnanti mostrano che XOR è la propria inversa, confrontano il testo cifrato hex con il testo in chiaro e fissano Hello con la chiave key come fixture da manuale che gli studenti possono ricalcolare a mano.

Fixture per pipeline e CI

Script e test di integrazione continua fissano output hex XOR deterministici e l'errore di chiave vuota così che bug accidentali nel flusso di chiave o nella formattazione hex falliscano subito.

Leggi la documentazione completa del KIT →