Cifrario a chiave corrente
Questo strumento di cifrario a chiave corrente cifra o decifra testo con una sostituzione polialfabetica classica che usa un lungo passaggio di testo-chiave come flusso di chiave non ripetuto, non una parola chiave corta che riparte.
Esegui gratis nel browser
Ogni lettera alfabetica del messaggio viene spostata dalla lettera successiva del passaggio di chiave, così la stessa lettera in chiaro può corrispondere a lettere cifrate diverse a seconda della posizione, mentre la chiave non torna mai all’inizio. Si muovono solo i caratteri A–Z: l’aritmetica modulare su un anello di ventisei lettere preserva il maiuscolo e il minuscolo, e spazi, cifre, punteggiatura e altri simboli passano senza consumare un passo di chiave. Se il passaggio di chiave ha meno lettere del messaggio, il motore segnala che la chiave è troppo corta invece di riavvolgere in silenzio come il Vigenère ordinario. Il percorso è pienamente deterministico, senza chiamate di rete, senza sali casuali e senza scorciatoie legate alla data, così i fixture didattici e i golden di CI restano stabili bit a bit. Lo usi gratis nel browser per riscaldamento CTF, lezioni di storia della crittografia e demo in stile cifrario da libro, oppure chiami l’API a $0.002 per richiesta riuscita quando le pipeline necessitano di trasformazioni a chiave corrente riproducibili.
Come si usa
Inserisci i dati nel modulo qui sopra. Lo strumento li controlla prima del calcolo e mostra il risultato nella stessa pagina.
Controlla i dati
Segui le etichette e le unità indicate per ogni campo. Se manca qualcosa o un valore non è ammesso, la pagina indica cosa correggere.
Ripeti il calcolo o automatizzalo
Usa lo strumento web per controlli singoli e l’API quando vuoi integrare la stessa capacità in un flusso automatizzato.
Casi d'uso
Ottieni subito una risposta
Inserisci una serie di valori e visualizza il risultato senza preparare un foglio di calcolo o uno script.
Confronta gli scenari
Modifica un valore alla volta e ripeti il calcolo per capire cosa cambia il risultato.
Automatizza le attività ripetute
Usa l’API quando lo stesso calcolo deve essere eseguito nel tuo prodotto o flusso.
Domande frequenti
Come si usa questa capacità?
Compila i campi qui sopra ed eseguila in questa pagina. Il modulo segnala i dati da correggere.
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/running-key \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Attack at dawn","key":"It was the best of times"}'const res = await fetch("https://api.kit.forhosting.com/enc/running-key", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Attack at dawn",
"key": "It was the best of times"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/running-key",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Attack at dawn",
"key": "It was the best of times"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/running-key", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Attack at dawn","key":"It was the best of times"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Attack at dawn","key":"It was the best of times"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/running-key", 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": "Attack at dawn",
"key": "It was the best of times"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.running_key",
"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. |