Validare una chiave API: prefisso, lunghezza e caratteri
Una chiave è conforme se inizia con il prefisso previsto, conta esattamente 18 caratteri compreso il prefisso e dopo contiene solo lettere e cifre. Individui in tempo chiavi troncate, con spazi o dell’ambiente sbagliato. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Non effettua richieste di rete, non autentica presso alcun provider e non sostiene che una chiave conforme sia attiva. Lo utilizzi per individuare troncamenti, spazi accidentali, errori di copia o una chiave dell’ambiente sbagliato prima che una credenziale venga salvata nella configurazione o usata in un rilascio.
Descriva il formato previsto
Inserisca il valore candidato in <code>key</code> e raccolga l’intera aspettativa in <code>pattern</code>. La lunghezza riguarda l’intera stringa JavaScript, prefisso compreso, non soltanto la parte segreta. Il set di caratteri si applica alla porzione successiva a un prefisso riconosciuto.
In alternativa può fornire una stringa che elenchi ogni carattere ammesso per rappresentare un alfabeto specifico del provider. Se il provider non usa un prefisso, passi una stringa vuota ma mantenga il campo. Il limite di 10,000 caratteri mantiene prevedibile l’elaborazione ed è sufficiente per credenziali realistiche.
Legga separatamente ogni esito
Il valore <code>valid</code> è vero solo quando tutti e tre i controlli riescono. La chiave candidata non viene mai restituita. Se il prefisso è errato, viene analizzata l’intera stringa perché non è sicuro ipotizzare dove inizi il segreto.
Possono quindi fallire più controlli insieme. Il risultato è deterministico e indipendente da orologio, casualità, stato del provider o rete. Un esito negativo indica solo una difformità strutturale, non una credenziale revocata o inattiva.
Controlli il formato nei punti sicuri
Il controllo è particolarmente utile prima che una chiave entri in un archivio di configurazione, una variabile di rilascio, uno strumento da riga di comando o un modulo d’integrazione. Gli errori strutturali emergono senza inviare la credenziale al servizio emittente. Consideri una corrispondenza soltanto come verifica preliminare: non dimostra che la chiave esista, appartenga all’account previsto, abbia autorizzazioni adeguate, non sia scaduta o non sia stata revocata.
Questi fatti richiedono un’autenticazione separata ed esplicitamente autorizzata. Non registri chiavi o input completi in log, analisi, ticket di supporto o sistemi di monitoraggio degli errori. In un’interfaccia mascheri il valore originale e mostri indicatori e lunghezze.
Casi d'uso
Proteggere una variabile di rilascio
Rifiuti una chiave troncata, con spazi o dell’ambiente errato prima del rilascio.
Controllare un modulo d’integrazione
Fornisca indicazioni precise su prefisso, lunghezza e caratteri vietati senza autenticare.
Verificare migrazioni di configurazione
Confermi che i segreti migrati conservino la struttura prevista senza esporli nell’output.
Domande frequenti
Che cosa comprende la lunghezza?
È la lunghezza esatta dell’intera stringa JavaScript, inclusi prefisso e parte segreta.
Un risultato valido significa che la mia chiave di accesso funziona?
No. Conferma soltanto la forma della chiave. Non può dimostrare che esista, che appartenga all’account giusto, che abbia i permessi adeguati o che non sia scaduta o revocata; questo lo sa solo il servizio che l’ha emessa.
La mia chiave viene inviata da qualche parte durante il controllo?
No. Il controllo non effettua alcuna connessione di rete e non contatta il fornitore che ha emesso la chiave. Inoltre la chiave non compare nel risultato, che può quindi mostrare senza esporre il segreto.
Perché falliscono più controlli se è sbagliato solo il prefisso?
Quando il prefisso non corrisponde, lo strumento non può sapere dove inizia la parte segreta ed esamina i caratteri dell’intera chiave. Così un errore sui caratteri può aggiungersi a quello del prefisso, e questo aiuta a individuare il problema reale.
Quali insiemi di caratteri posso scegliere?
Può scegliere lettere e cifre, solo minuscole e cifre, solo maiuscole e cifre, esadecimale, esadecimale minuscolo oppure Base64 adatto agli indirizzi web. Può anche scrivere l’elenco esatto dei caratteri ammessi dal suo fornitore.
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/security/api-key-format-validate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"key":"sk_live_Ab3dE5fG7h","pattern":{"prefix":"sk_live_","length":18,"charset":"alphanumeric"}}'const res = await fetch("https://api.kit.forhosting.com/security/api-key-format-validate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"key": "sk_live_Ab3dE5fG7h",
"pattern": {
"prefix": "sk_live_",
"length": 18,
"charset": "alphanumeric"
}
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/security/api-key-format-validate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"key": "sk_live_Ab3dE5fG7h",
"pattern": {
"prefix": "sk_live_",
"length": 18,
"charset": "alphanumeric"
}
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/security/api-key-format-validate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"key":"sk_live_Ab3dE5fG7h","pattern":{"prefix":"sk_live_","length":18,"charset":"alphanumeric"}}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"key":"sk_live_Ab3dE5fG7h","pattern":{"prefix":"sk_live_","length":18,"charset":"alphanumeric"}}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/security/api-key-format-validate", 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
{
"key": "sk_live_Ab3dE5fG7h",
"pattern": {
"prefix": "sk_live_",
"length": 18,
"charset": "alphanumeric"
}
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "security.api_key_format_validate",
"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
Le chiavi API hanno spesso una forma riconoscibile, anche se soltanto il servizio che le emette può confermarne la validità. Questo strumento controlla il prefisso richiesto, la lunghezza totale esatta e i caratteri consentiti dopo il prefisso.
Descriva il formato previsto
Lo schema richiede <code>prefix</code>, <code>length</code> e <code>charset</code>. Sono disponibili <code>alphanumeric</code>, <code>lowercase_alphanumeric</code>, <code>uppercase_alphanumeric</code>, <code>hex</code>, <code>lowercase_hex</code> e <code>base64url</code>. Lo schema è obbligatorio e riunisce i tre vincoli, evitando che un semplice controllo della lunghezza sembri una validazione completa.
Legga separatamente ogni esito
La risposta espone anche <code>has_prefix</code>, <code>length_matches</code> e <code>charset_matches</code> separatamente, così un’interfaccia può spiegare con precisione che cosa correggere. <code>actual_length</code> e <code>expected_length</code> evidenziano subito un troncamento o un carattere incollato in più. Se l’alfabeto non coincide, <code>invalid_characters</code> elenca una sola volta ogni carattere vietato, nell’ordine della prima occorrenza.
Controlli il formato nei punti sicuri
L’implementazione deterministica funziona localmente nel browser; l’automazione può chiamare l’API per $0.002 a richiesta. Definisca lo schema dalla documentazione aggiornata del provider e lo riveda quando cambia il formato.
Domande tecniche
Un esito valido indica che la chiave API è attiva?
No. Conferma soltanto la conformità al formato fornito e non contatta né autentica presso il provider.
Quali set di caratteri predefiniti sono disponibili?
Usi alphanumeric, lowercase_alphanumeric, uppercase_alphanumeric, hex, lowercase_hex o base64url, oppure elenchi esplicitamente i caratteri ammessi.
La chiave API compare nella risposta?
No. La risposta contiene gli esiti e i caratteri vietati distinti, ma non ripete mai la candidata.
Che cosa accade se manca lo schema?
La richiesta fallisce con invalid_input perché prefisso, lunghezza e set di caratteri sono obbligatori.
Quanto costa una richiesta API?
Ogni richiesta costa $0.002. La stessa validazione deterministica può essere eseguita localmente nel browser.