Cifrario ROT5 delle cifre
0123456789 diventa 5678901234: ogni cifra avanza di cinque posizioni su un cerchio di dieci, e lettere, spazi e trattini restano dove sono. Lo applichi una seconda volta e tornano le cifre originali. Utile per mascherare numeri di telefono o d'ordine nelle demo. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- 0123456789
- Risultato
- 5678901234
- Ingresso
- 0123456789
- Testo
- 5678901234
- Cifre ruotate
- 10
Un cifrario ROT5 delle cifre è il cugino numerico della classica rotazione di lettere ROT13: ogni cifra ASCII da zero a nove è spostata di cinque posti su un cerchio di dieci cifre, così zero diventa cinque, uno diventa sei, due diventa sette, tre diventa otto, quattro diventa nove, e la seconda metà dell'alfabeto delle cifre mappa dall'altra parte. Poiché cinque è la metà di dieci, applicare la stessa sostituzione una seconda volta ripristina la stringa originale—codifica e decodifica sono operazioni identiche. Lettere, punteggiatura, spazi e qualsiasi punto di codice Unicode non cifra passano invariati, il che rende ROT5 ideale per una leggera offuscazione di numeri di telefono, ID ordine, PIN incorporati in testo misto o stringhe di enigmi stile CTF senza toccare la prosa circostante. Inserisca qualsiasi testo non vuoto; lo strumento restituisce la stringa trasformata, quante cifre sono state ruotate, quanti caratteri non cifra sono stati lasciati soli e un breve messaggio di stato.
Cosa fa ROT5 alle cifre e cosa lascia stare
ROT5 appartiene alla famiglia dei cifrari di sostituzione modulare usati in enigmi cripto classici e giocattoli di testo leggeri. L'alfabeto sono le dieci cifre ASCII da zero a nove. Per qualsiasi carattere cifra d il cui valore numerico è n da zero a nove, il cifrario emette l'unico carattere di (n più cinque) modulo dieci.
Quella tabella è fissa e pubblica: zero mappa su cinque, uno su sei, due su sette, tre su otto, quattro su nove, cinque su zero, sei su uno, sette su due, otto su tre e nove su quattro. Poiché lo scorrimento è pari alla metà della dimensione dell'alfabeto, la mappatura è un'involuzione—ogni simbolo è la propria inversa—quindi non c'è modalità di decodifica separata né chiave segreta.
Tutto ciò che non è una cifra ASCII è copiato integralmente: lettere maiuscole e minuscole, spazi, trattini nei numeri di telefono, simboli di valuta, a capo e Unicode multi-byte sopravvivono. Forme di cifra a larghezza piena e altri sistemi numerici fuori dall'intervallo ASCII non sono riscritti; partecipano solo i dieci caratteri con punti di codice da quarantotto a cinquantasette.
Quando reinvia il result come ingresso, recupera il testo originale per ogni cifra presente, che è il controllo di andata e ritorno standard che docenti e autori CTF usano per verificare un'implementazione ROT5.
Casi d'uso
Esercizi di cifrario in CTF e in classe
Gli studenti applicano ROT5 a sequenze di cifre in enunciati di sfida, poi lo applicano di nuovo per verificare la proprietà di involuzione prima di passare a cifrari classici più difficili.
Offuscamento leggero di ID nelle demo
Le demo di prodotto e gli screenshot sostituiscono numeri d'ordine o cifre telefoniche di esempio con ROT5 mantenendo separatori ed etichette leggibili per il pubblico.
Domande frequenti
Che cos'è ROT5?
ROT5 ruota ogni cifra ASCII 0–9 di cinque posizioni modulo 10. Zero diventa cinque, uno diventa sei, e così via; cinque mappa di nuovo su zero. I non-cifre restano invariati.
Come si decodifica ROT5?
Applichi ROT5 di nuovo. La mappatura è un'involuzione: eseguire la stessa trasformazione due volte ripristina le cifre originali.
ROT5 cambia le lettere?
No. Solo le cifre ASCII 0–9 sono riscritte. Lettere, spazi, punteggiatura e altri caratteri Unicode passano così come sono.
Cosa succede con ingresso vuoto?
È richiesta una stringa non vuota affinché i campi vuoti non siano trattati come un risultato vuoto riuscito.
Il cifrario ROT5 delle cifre è gratuito?
Lo strumento del browser è gratuito e gira in locale.
Strumenti correlati
Per sviluppatori — accesso via API
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.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/enc/rot5 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Phone: 555-0199"}'const res = await fetch("https://api.kit.forhosting.com/enc/rot5", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Phone: 555-0199"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/rot5",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Phone: 555-0199"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/rot5", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Phone: 555-0199"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Phone: 555-0199"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/rot5", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "Phone: 555-0199"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.rot5",
"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.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_chars | 100000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
L'ingresso vuoto è rifiutato con un errore chiaro invalid_input così i chiamanti non trattano mai un campo vuoto come un no-op riuscito. Il percorso è pura aritmetica di caratteri deterministica—senza rete, senza semi casuali, senza dipendenza dall'orologio—così l'esecutore gratuito del browser e l'API prepagata restituiscono lo stesso JSON ogni volta.
Cosa fa ROT5 alle cifre e cosa lascia stare
Le stringhe vuote non sono qui una trasformazione identità valida: l'API le rifiuta con invalid_input affinché un campo di modulo mancante non produca in silenzio un'altra stringa vuota dall'aspetto riuscito.
Come chiamare l'API e cosa torna
La stringa deve essere non vuota e non superare il limite di caratteri pubblicato di centomila caratteri. Invii un corpo JSON con un campo stringa obbligatorio chiamato text. Gli alias comuni anche accettati dal solver includono input, value, data, message e s, così i client esistenti che già etichettano un payload di testo libero possono chiamare questa capacità senza rinominare la chiave. In caso di successo la risposta riecheggia il payload originale sotto input, imposta sia result sia text sulla stringa trasformata da ROT5 affinché entrambe le chiavi vadano bene alle pipeline a valle, riporta digits_rotated come conteggio delle cifre ASCII rimappate, non_digits come conteggio dei caratteri lasciati invariati, length come conteggio dei caratteri di uscita (sempre uguale alla lunghezza di ingresso), formula come il mnemonico breve cifra freccia parentesi aperta cifra più cinque parentesi chiusa mod dieci, e message come un riepilogo di una riga in inglese di quante cifre si sono mosse. Validazione fallita—campo mancante, tipo sbagliato, stringa vuota o payload eccessivo—restituisce invalid_input e non è mai addebitata. Il prezzo è un forfait di $0.002 per richiesta riuscita con unità item e prezzo unitario marginale zero.
Suggerimenti pratici, limiti e ricerche correlate
Preferisca inviare la stringa mista completa piuttosto che rimuovere prima la punteggiatura quando il contesto circostante conta: formati telefonici come cinque cinque cinque trattino zero uno nove nove mantengono trattini e spazi mentre solo le cifre ruotano, che è esattamente ciò che di solito vogliono le stesure di enigmi e le demo di redazione leggera. Se la Sua fonte contiene solo lettere, lo strumento ha comunque successo e riporta zero cifre ruotate—è intenzionale, non un errore, perché il percorso identità sui non-cifre fa parte della definizione del cifrario. Questa pagina punta a chi cerca un cifrario ROT5, un rotatore di cifre o uno strumento ROT di numeri online; non è ROT13 per lettere, non è un Cesare generale con scorrimento arbitrario, non è Base64 e non è cifratura che offre segretezza contro un attaccante motivato. Preferisca questa capacità quando Le serve una sostituzione solo di cifre, trasparente e reversibile, per demo, fogli di lavoro o passi di enigmi; se Le serve rotazione di lettere, usi invece uno strumento ROT13 orientato alle lettere. Per decodificare, richiami lo stesso endpoint con il result precedente; non c'è flag di modalità da impostare. Mantenga i payload sotto la lunghezza massima pubblicata per limitare la memoria Worker. Nell'insegnamento, accoppi esempi: la sequenza di cifre zero uno due tre quattro cinque sei sette otto nove diventa cinque sei sette otto nove zero uno due tre quattro; una stringa stile telefono con trattini mostra la preservazione della punteggiatura; e una stringa vuota dimostra il percorso duro invalid_input. I task falliti che restituiscono invalid_input non consumano saldo prepagato, il che tiene economici gli script esplorativi quando i client sondano campi vuoti. I controlli di andata e ritorno sono facili: reinvii il result e affermi l'uguaglianza con l'originale, e confermi che una stringa solo non-cifre lascia result e input identici mentre digits_rotated resta zero.
Casi di integrazione
Test unitari di pipeline per trasformazioni di cifre
Le suite di test generano stringhe di cifre note, affermano la mappatura fissa (n+5) mod 10 e includono un caso invalid_input di ingresso vuoto come fixture negativa.