Cifrario ROT-N
Scelga uno scostamento da 0 a 25: con 13, Hello, World! diventa Uryyb, Jbeyq!; con 3 ottiene il classico cifrario di Cesare, e in decodifica ogni lettera torna indietro dello stesso valore. Cifre e segni non si spostano mai. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- Hello, World!
- N
- 13
- Modalità di calcolo
- Encode
- Risultato
- Uryyb, Jbeyq!
- N effettivo
- 13
- Lunghezza
- 13
- Lettere ruotate
- 10
ROT-N è la forma generale del noto cifrario a sostituzione ROT13: Lei sceglie una rotazione intera N e ogni lettera latina avanza di quel numero di posizioni nell’alfabeto, mentre cifre, spazi e punteggiatura restano invariati. Poiché l’alfabeto è un cerchio di ventisei lettere, la trasformazione avvolge da Z ad A e da z ad a, e le maiuscole restano maiuscole così il messaggio conserva la forma. La modalità encode applica più N; la modalità decode applica meno N, così lo stesso strumento nasconde e rivela il testo quando Lei conosce lo scostamento.
Come funziona la rotazione ROT-N e cosa contiene la risposta
ROT-N tratta le ventisei lettere latine come un cerchio modulare. Per ogni maiuscola, mappi A a zero fino a Z a venticinque, sommi lo scostamento effettivo, prenda il resto modulo ventisei e rimappi a una lettera dello stesso caso. Le minuscole seguono la stessa aritmetica da a a z.
I caratteri fuori da questi due intervalli — cifre, spazi bianchi, punteggiatura, emoji e script non latini — vengono copiati invariati affinché lo scheletro della frase sopravviva alla trasformazione. La modalità encode usa l’intero N che Lei fornisce come rotazione in avanti; la modalità decode usa l’inverso modulare, equivalente a ruotare di ventisei meno N quando N non è zero. Uno scostamento zero è l’identità; tredici è il ROT13 classico ed è un’involuzione; tre riproduce l’esempio Cesare di molti manuali.
Il mode opzionale predefinito è encode se omesso.
Regole di validazione, scostamenti fuori intervallo e errori comuni
Lo scostamento N deve essere un numero intero da zero a venticinque inclusi. Quell’intervallo stretto è intenzionale: l’intento di ricerca di ROT-N si aspetta una rotazione nominata sul cerchio dell’alfabeto, non un avvolgimento silenzioso di interi arbitrari che nasconderebbe errori nei compiti. Le frasi a maiuscole e minuscole miste preservano il caso perché gli alfabeti superiore e inferiore ruotano in modo indipendente.
Le lettere non ASCII come il latino accentato o il cirillico non ruotano in questa definizione classica; passano invariate affinché l’algoritmo resti fedele alla famiglia ROT cercata dagli utenti. Non tratti il risultato come crittografia di sicurezza: chi conosce N può invertire il testo all’istante e la pagina prodotto non deve mai vendere ROT-N come controllo per segreti, password o dati personali.
Preferisca questa landing quando la query è letteralmente cifrario rot-n, codificatore rot n o ruotare lettere di N; ROT13, ROT5, ROT18 fissi o una pagina Cesare generale a chiavi storiche rispondono a intenti distinti e devono restare strumenti separati.
Casi d'uso
Enigmi e riscaldamenti CTF con N variabile
Codifichi o decodifichi stringhe di sfida con qualsiasi N da 0 a 25 senza scrivere uno script ad hoc per ogni set di problemi.
Demo di aritmetica modulare in aula
Mostri che encode con N e decode con lo stesso N ripristinano il testo originale e che gli scostamenti fuori intervallo falliscono in modo chiaro.
Domande frequenti
Che cos’è un cifrario ROT-N?
Una sostituzione classica che ruota ogni lettera latina di N posizioni intere sul cerchio dell’alfabeto (modulo 26). Le non lettere restano invariate.
Come codifico e decodifico?
Invii text e n con mode encode (predefinito) per ruotare in avanti. Usi lo stesso n con mode decode per ruotare all’indietro e recuperare il contenuto originale di lettere latine.
Cosa succede se lo scostamento è fuori intervallo?
N deve essere un intero da 0 a 25 inclusi; valori come 26, −1 o 3.5 sono rifiutati e non addebitati.
Spazi e punteggiatura vengono ruotati?
No. Si muovono solo A–Z e a–z. Spazi, cifre, punteggiatura e altri caratteri passano invariati così la struttura della frase resta leggibile.
Quanto costa?
Lo strumento nel 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/rot-n \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, World!","n":13}'const res = await fetch("https://api.kit.forhosting.com/enc/rot-n", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, World!",
"n": 13
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/rot-n",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, World!",
"n": 13
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/rot-n", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, World!","n":13}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, World!","n":13}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/rot-n", 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": "Hello, World!",
"n": 13
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.rot_n",
"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.
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
Questa capacità accetta testo non vuoto e un intero N nell’intervallo chiuso da zero a venticinque, rifiuta scostamenti fuori intervallo con un errore invalid_input chiaro e restituisce la stringa ruotata più conteggi che Lei può assert nei test. Le chiamate API riuscite usano il saldo KIT prepagato a $0.002 per item; i fallimenti di validazione non vengono addebitati.
Come funziona la rotazione ROT-N e cosa contiene la risposta
Invii un corpo JSON con il campo stringa obbligatorio text e l’intero obbligatorio n (sono accettati alias come shift e rot). In caso di successo la risposta include il text originale, n, mode, n_effective come rotazione in avanti dopo l’applicazione del mode, result con la stringa trasformata, length dell’ingresso, letters_rotated che conta quanti caratteri alfabetici si sono mossi, più le etichette alphabet e cipher per i client che fissano un profilo. Ingressi identici producono sempre lo stesso JSON perché il percorso è aritmetica pura di caratteri, senza rete, senza seme casuale e senza orologio di sistema.
Regole di validazione, scostamenti fuori intervallo e errori comuni
Valori come ventisei, meno uno, tre virgola cinque scritto 3.5, o una stringa non numerica falliscono subito con invalid_input e un messaggio in inglese che indica scostamento fuori intervallo o non intero. Text mancante, text non stringa, stringhe vuote, n assente e valori di mode non supportati sollevano pure invalid_input e non sono addebitati sull’API prepagata. Stringhe solo di spazi con lunghezza maggiore di zero sono accettate; ruotano solo le lettere, quindi una stringa di spazi restituisce se stessa con letters_rotated pari a zero.
Uso dell’API, prezzi, flussi didattici e limiti pratici
Usi il cifrario ROT-N gratuito nel browser per bozze di enigmi, spoiler nei forum, demo di lezione e controlli una tantum senza installare openssl né scrivere un one-liner in ogni linguaggio. Un flusso tipico in aula mostra agli studenti che codificare con N e decodificare con lo stesso N ripristina il messaggio originale, poi contrasta tale identità con un vero cifrario a chiave più avanti nel programma. I playbook di supporto possono invertire note di ticket leggermente offuscate che lo staff ha scritto apposta con una rotazione condivisa. Abbini Base64 o codifica URL solo quando un passo di trasporto successivo richiede un altro alfabeto — mantenga ROT-N sulla propria landing così l’intento SEO di rotazione variabile delle lettere resta nitido e non cannibalizza pagine a scostamento fisso o di crittoanalisi completa. Usi l’API KIT prepagata quando un backend, una funzione serverless, una piattaforma di tutoraggio o un SDK necessita di un contratto stabile a saldo $0.002 per item riuscito; i fallimenti di validazione non consumano mai saldo dopo il rifiuto del motore. I siti di puzzle possono precomputare risposte da mostrare e rivelarle su richiesta con lo stesso endpoint impostando mode a decode. Autori di SDK possono mappare il campo result su un pulsante copia mentre n_effective e letters_rotated rendono autoesplicativi gli esempi OpenAPI. Mantenga i payload a dimensioni di testo ordinarie adatte a una chiamata item di un Worker isolate; questo strumento è per messaggi e frammenti, non per blob binari multi-megabyte.
Casi di integrazione
Offuscamento di spoiler e etichette
Ruoti risposte di quiz o etichette interne con un N condiviso e le inverta poi con mode decode nel browser o via API.